我有字符串,它总是十六进制,如“FF”,“BB”,“AA”等。 我做了一个编码东西的小实验,它看起来像hexadecimal
是在字符串表示中将字节数加倍。十六进制表示占用比它应该更多的空间
我的代码是这样的:
String hex ="FF";
byte[] b = hex.getBytes();
String enc = base16().encode(hex.getBytes());
byte[] c = enc.getBytes();
我用番石榴utils的做编码的东西。
它看起来像是hex
需要两个字节,所以b
的长度为2. 然后我把它编码为十六进制。 “FF”是十进制的255,所以需要1 byte
。但enc
现在是4个字节,等于"4646"
。
接下来,c
是4个字节。
我不明白enc
正在生成的点。我想c
需要1个字节。有人可以投射一些光线吗?
谢谢!
这很有道理!谢谢你一下 – 2014-09-10 18:07:19