首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

将十六进制字符串不能转,直接存到byte[]里面?该怎么处理

2012-05-09 
将十六进制字符串不能转,直接存到byte[]里面?String str ffffffffffff38771622byte[] b new byte[3

将十六进制字符串不能转,直接存到byte[]里面?
String str = "ffffffffffff38771622";

byte[] b = new byte[32]; 


我想把str每从位不转直接存到b这个byte数组里面。 怎么存呢?

不是把f转成102来存。

[解决办法]

Java code
b = str.getBytes("ISO-8859-1");
[解决办法]
探讨

str = "ffffffffffff38771622";

其实我这个就是,内容了。你那是什么意思 ?

我想达到的效果
b[0]=f
b[1]=f
b[2]=f
b...
b[]=3
b[]=8
b[]=7
b[]=7
...

[解决办法]
再看了下,1楼的意思也一样,只不过都要再手工循环一边处理。

就是按条件的执行 b[0] = (byte) b[0]-'a'; 或者 b[0] = (byte) b[0]-'0';
[解决办法]
str.toCharArray()
获得char[]型结果
[解决办法]
Java code
            String str = "ffffffffffff38771622";            byte[] b = new byte[str.length()];            for (int i=0; i<b.length; i++) {                b[i] = (byte)(Integer.parseInt(str.substring(i,i+1),16));            }            System.out.println(Arrays.toString(b));
[解决办法]
toCharArray()

热点排行