将十六进制字符串不能转,直接存到byte[]里面?
String str = "ffffffffffff38771622";
byte[] b = new byte[32];
我想把str每从位不转直接存到b这个byte数组里面。 怎么存呢?
不是把f转成102来存。
------解决方案--------------------Java code
b = str.getBytes("ISO-8859-1");
------解决方案--------------------
------解决方案--------------------
再看了下,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()