java将字节数组转换成string
字节数组是高字节在前低字节在后如0x01000000,要转换成字符串00000001的形式,怎么弄,求大神相助...
字节数组是高字节在前低字节在后如0x01 00 00 00,要转换成字符串00000001的形式,怎么弄,求大神相助
展开
3个回答
展开全部
不知道你说的字节数组是不是也是字符串数组,如果是可以像下面这样处理:
String[] strs = new String[]{"01","00","00","00"};
StringBuilder builder = new StringBuilder();
for(int i=strs.length-1;i>=0;i--){
builder.append(strs[i]);
}
System.out.println(builder.toString());
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
byte数组从后往前转就行了:
private String byteArray2String(byte[] byteArray){
StringBuffer sb = new StringBuffer();
for(int i=byteArray.length-1; i>=0 ;i--){
System.out.println(i);
String str_temp = "" + (byteArray[i] & 0xFF);
if(str_temp.length()<2){
sb.append("0");
}
sb.append(str_temp);
}
return sb.toString().trim();
}
private String byteArray2String(byte[] byteArray){
StringBuffer sb = new StringBuffer();
for(int i=byteArray.length-1; i>=0 ;i--){
System.out.println(i);
String str_temp = "" + (byteArray[i] & 0xFF);
if(str_temp.length()<2){
sb.append("0");
}
sb.append(str_temp);
}
return sb.toString().trim();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个是所谓的BIG-ENDIAN、LITTLE-ENDIAN,是针对由多个字节组成的数据类型来说的。
比如int(32位,四个字节),
例:
int a = 0x05060708
在BIG-ENDIAN的情况下存放为:
字节号 0 1 2 3
数据 05 06 07 08
在LITTLE-ENDIAN的情况下存放为:
字节号 0 1 2 3
数据 08 07 06 05
而你所说的字节数组转字符串与这个没有关系。它只与字符编码相关(如UTF-8,等)
比如int(32位,四个字节),
例:
int a = 0x05060708
在BIG-ENDIAN的情况下存放为:
字节号 0 1 2 3
数据 05 06 07 08
在LITTLE-ENDIAN的情况下存放为:
字节号 0 1 2 3
数据 08 07 06 05
而你所说的字节数组转字符串与这个没有关系。它只与字符编码相关(如UTF-8,等)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询