golang和java的byte数组相互转换

原创 2016年08月29日 16:02:58

golang和java中byte取值范围不一样 o(╯□╰)o,这里是个坑

golang定义如下
// byte is an alias for uint8 and is equivalent to uint8 in all ways. It is
// used, by convention, to distinguish byte values from 8-bit unsigned
// integer values.
type byte byte

java定义如下

public final class Byte extends Number implements Comparable {
public static final byte MIN_VALUE = -128;
public static final byte MAX_VALUE = 127;

golang是uint8 java定义是int8 ,所有在使用的过程中需要装换

我的处理过程如下
1,java里面把KEY 用base64加密

System.out.println(Base64.encodeBase64URLSafeString(ImageConstants.DES_KEY));
 2,在golang使用base64解密
base64er := base64.RawURLEncoding;

decoder_buf, _ := base64er.DecodeString(key)

buf := new(bytes.Buffer)
err := binary.Write(buf, binary.BigEndian, id)

if err != nil {
       fmt.Println("binary.Write failed:", err)
}

在base64使用过程中需要注意,
是使用RawURLEncoding编解码的

版权声明:本文为博主原创文章,未经博主允许不得转载。

golang(Go语言) byte/[]byte 与 二进制形式字符串 互转

效果把某个字节或字节数组转换成字符串01的形式,一个字节用8个”0”或”1”字符表示。比如: byte(3) –> “00000011” []byte{1,2,3} –> “[00000001 0...
  • QQ245671051
  • QQ245671051
  • 2016年09月28日 20:03
  • 13880

golang之cgo一---go与C基本类型转换

在嵌入式开发中总少不了和C/C++打交道,而在开发中也总有某些需求要用到某些其他工具的特性,比如go语言。 Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C+...
  • FreeApe
  • FreeApe
  • 2016年07月12日 00:25
  • 5614

go语言之整形和字节数组的转换

go语言之整形和字节数组的转换 //整形转换成字节 func IntToBytes(n int) []byte { tmp := int32(n) bytesBuffer := byte...
  • bojie5744
  • bojie5744
  • 2015年02月03日 07:35
  • 4456

golang json数组拼接

func main() { a := []byte(`{"Parents": [ "aaaaa", "bbbbbbb" ]}`) b := []byte(`{"Parents": [ ...
  • pingD
  • pingD
  • 2016年06月16日 15:38
  • 1980

Golang黑科技之——string与[]byte转换

我们知道,相对于C语言,golang是类型安全的语言。但是安全的代价就是性能的妥协。 下面我们通过Golang中的“黑科技”来一窥Golang不想让我们看到的“秘密”——string的底层数据。 ...
  • vipally
  • vipally
  • 2016年10月27日 00:09
  • 19296

java中byte数组与十六进制字符串相互转换

java中byte数组与十六进制字符串相互转换。Java中byte用二进制表示占用8位,而我们知道16进制的每个字符需要用4位二进制位来表示。所以我们就可以把每个byte转换成两个相应的16进制字符,...
  • xmt1139057136
  • xmt1139057136
  • 2014年05月05日 17:21
  • 4329

go语言序列化对象为二进制

package main import ( "bytes" "encoding/binary" "fmt" ) type Register struct { ACTION int32 S...
  • body100123
  • body100123
  • 2012年10月20日 12:25
  • 2131

C#学习之byte数组与结构体之间的转换

原文: http://www.cnblogs.com/sunrack/articles/1244043.html //**注意在我的实际项目中直接调用字节转换,并没有定义结构体 在写C#T...
  • ycigwy
  • ycigwy
  • 2017年04月21日 09:59
  • 466

java 16进制字符串和byte数组的相互转换

网络上有这么一段: Java中byte用二进制表示占用8位,而我们知道16进制的每个字符需要用4位二进制位来表示,所以我们就可以把每个byte转换成两个相应的16进制字符,即把byte的高4位和低4位...
  • a975261294
  • a975261294
  • 2017年04月17日 11:15
  • 426

Java中字符串与byte数组之间的相互转换

Java语言中字符串类型和字节数组类型相互之间的转换经常发生,网上的分析及代码也比较多,这篇文章将主要介绍Java中字符串与byte数组之间的相互转换,有需要的朋友们可以参考借鉴,下面来一起看看吧。 ...
  • ID_Rin
  • ID_Rin
  • 2016年12月21日 19:10
  • 3432
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:golang和java的byte数组相互转换
举报原因:
原因补充:

(最多只允许输入30个字)