解析二进制流问题 非常有难度 高手请进
现在遇到了一个问题 我现在有一个字符串 “FFD8FFE0” 我从网上下了一段代码将这个字符串转换成二进制字节数组 代码如下:
String str = “FFD8FFE0”;
byte[] bytes = new byte[str.length / 2];
for (int i = 0; i < s.length(); i += 2) {
int high = Integer.parseInt(s.substring(i, i+1),16);
int low = Integer.parseInt(s.substring(i+1, i+2),16);
bytes[i/2] = (byte) ((high << 4) | low);
}
try{
OutputStream os=new FileOutputStream("d:\\a.data");
os.write(bytes);
os.flush();
os.close();
}catch(Exception ex){
ex.printStackTrace();
}
然后我用ue将这个二进制文件打开 看到里面是 FF D8 FF E0
现在问题来了 我怎么将 bytes 还原回 “FFD8FFE0“ ?????????????
,实际上这个字符串是由一些0-255的数字转换而来的 255就是FF ,
因为这个字符串是要进行网络传输的,大小非常重要,如果将 byte[] byts = (newjwxy).getBytes("utf-8");
那么就是8个字节
上面的方法转换后就是4个字节很省流量。
请大家指教 跪谢