当前位置: 代码迷 >> Java相关 >> String 转 byte,该如何处理
  详细解决方案

String 转 byte,该如何处理

热度:55   发布时间:2016-04-22 20:22:11.0
String 转 byte
将字符串
String str = "00 00 04 F5 FA C8 2A 90";
转换成byte数组
转换后格式为
b={0,0,4,F5,FA,C8,2A,90}
请大神指点~

java语言~
------解决思路----------------------
引用:

import java.util.*;

public class Main{
public static void main(String[] args) {
String str = "00 00 04 F5 FA C8 2A 90";
String[] strs = str.split("\\s+");
byte[] b = new byte[strs.length];
for(int i=0; i<strs.length; ++i){
// System.out.println(Integer.parseInt(strs[i], 16));
try{
b[i] = Byte.parseByte(strs[i], 16);
}
catch(Exception e){
e.printStackTrace();
}
}
System.out.println(Arrays.toString(b));
}

}

额,F5等已经超出byte的范围了,byte最大127, F5是245!

也可以这样

for(int i=0; i<strs.length; ++i){
int tmp = Integer.parseInt(strs[i], 16);
b[i] = (byte)(tmp>Byte.MAX_VALUE ? (Byte.MAX_VALUE-tmp) : tmp);
}

这样从虽然有负数,但是正好和F5等匹配
  相关解决方案