Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2019
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.86 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4. "fmt"
  5. "unsafe"
  6. )
  7.  
  8. func main(){
  9. // integer for convert
  10. num := int64(1354321354812)
  11. fmt.Println("Original number:", num)
  12. // integer to byte array
  13. byteArr := IntToByteArray(num)
  14. fmt.Println("Byte Array", byteArr)
  15. // byte array to integer again
  16. numAgain := ByteArrayToInt(byteArr)
  17. fmt.Println("Converted number:", numAgain)
  18. }
  19.  
  20. func IntToByteArray(num int64) []byte {
  21. size := int(unsafe.Sizeof(num))
  22. arr := make([]byte, size)
  23. for i := 0 ; i < size ; i++ {
  24. byt := *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&num)) + uintptr(i)))
  25. arr[i] = byt
  26. }
  27. return arr
  28. }
  29.  
  30. func ByteArrayToInt(arr []byte) int64{
  31. val := int64(0)
  32. size := len(arr)
  33. for i := 0 ; i < size ; i++ {
  34. *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&val)) + uintptr(i))) = arr[i]
  35. }
  36. return val
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement