Java byte[]字节数组转换为String字符串的注意事项
来源:互联网 发布:淘宝大股东是日本谁 编辑:程序博客网 时间:2024/04/30 07:47
Java byte[]字节数组转换为String字符串的注意事项
一、toString()
开始我想当然的使用toString()方法进行转换,结果如下:
[B@1b67f74
乍一看就是“乱码”。其实这是hashcode编码,JDK源码如下:
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
二、new String()
String target = new String(byte[] 字节数组对象)
JDK源码:
public String(byte bytes[]) {
this(bytes, 0, bytes.length);
}
public String(byte bytes[], int offset, int length) {
checkBounds(bytes, offset, length);
char[] v = StringCoding.decode(bytes, offset, length);
this.offset = 0;
this.count = v.length;
this.value = v;
}
综上:
对于byte[]字节数组采用toString()方法是行不通的。
正确的方法是使用byte[]数组做参数,新建一个String对象。
0 0
- Java byte[]字节数组转换为String字符串的注意事项
- VB 字节数组和字符串的转换问题 (String<>Byte)
- 字符串String转换成字节数组 byte[]的表现形式
- c# byte字节数组与string字符串之间的转换
- C# 中字符串string和字节数组byte[]的转换
- 转换一个String字符串为byte数组
- Java中单字节Ascii的byte字节数组与String转换
- C# 中字符串string和字节数组byte[]之间的转换
- C# string字符串转换为字节数组和转换为16进制的字符串形式
- MSDN将字节数组转换为十六进制值字符串时 Byte 的用法
- MSDN将字节数组转换为十六进制值字符串时 Byte 的用法
- java中字节数组转换为字符串
- byte数组转换为字符串
- 图片获取字节数组byte[]data, 将字节数组转换为String,之后再由String转换为byte[]data,会发现不同
- android byte字节数组转换十六进制字符串
- java里面byte数组和String字符串怎么转换
- java里面byte数组和String字符串转换
- java里面byte数组和String字符串怎么转换
- Java String.compareTo()方法
- 正则表达式 - 语法
- QTP11/12无限试用30天的方法
- 链表翻转 - 头插法
- Android 视图渲染过程的源码分析
- Java byte[]字节数组转换为String字符串的注意事项
- javaweb学习总结(——基于Servlet+JSP+JavaBean开发模式的用户登录注册
- 如何在JS中还原被转码的字符 "等等
- mac 安装mongodb
- 重修Java—初始化
- css布局之三列布局中间自适应
- u3d honey hex framework 路径显示改造
- 优化反射性能的总结(上)
- MFC对话框及窗口函数调用顺序