深入 JAVA里面关于byte数组和String之间的转换问题
来源:互联网 发布:生化危机4mac版 编辑:程序博客网 时间:2024/06/06 00:13
把byte转化成string,必须经过编码。
例如下面一个例子:
importjava.io.UnsupportedEncodingException; publicclass test{ publicstatic void main(String g[]) { Strings = "12345abcd"; byteb[] = s.getBytes(); Stringt = b.toString(); System.out.println(t); } }
输出字符串的结果和字符串s不一样了.
经过以下方式转码就可以正确转换了:
publicclass test{ publicstatic void main(String g[]) { Strings = "12345abcd"; byteb[] = s.getBytes(); try{ Stringt = new String(b); System.out.print(t); }catch (Exception e) { e.printStackTrace(); } } }
Stringstr = "String"; byte[]byte1 = str.getBytes(); Stringstr1 = new String(byte1); byte[]byte2 = str1.getBytes(); Stringstr2 = new String(byte2); System.out.println("str<<<"+ str); System.out.println("byte1<<<"+ byte1); System.out.println("str1<<<"+ str1); System.out.println("byte2<<<"+ byte2); System.out.println("str2<<<"+ str2);
-------------------------------------
输出结果
str<<<String
byte1<<<[B@192d342
str1<<<String
byte2<<<[B@6b97fd
str2<<<String
想请教为什么两个byte输出的不一样呢?
Stringstr = "String";
byte[]byte1 = str.getBytes();
Stringstr1 = new String(byte1);
byte[]byte2 = str1.getBytes();
----------
注意byte1是str得到的byte数组,而byte2是另一个字符串str1得到的数组
他们本身也是两个对象
直接打印实际上调用的是toString()方法,而toString()的默认实现是打印对象类型+hashCode()
[B表示byte数组
@表示之后的是地址
后面跟着的是hashCode,其实就是其虚拟机地址
所以这个结果也就是顺理成章了.
- 深入 JAVA里面关于byte数组和String之间的转换问题
- JAVA里面关于byte数组和String之间的转换问题
- JAVA里面关于byte数组和String之间的转换问题
- JAVA里面关于byte数组和String之间的转换问题
- JAVA里面关于byte数组和String之间的转换问题
- JAVA里面关于byte数组和String之间的转换问题
- JAVA里面关于byte数组和String之间的转换问题
- Java byte[]数组和十六进制String之间的转换Util
- 关于string和byte之间的转换
- [JAVA] string 和 byte之间的转换
- java里面byte数组和String字符串怎么转换
- java里面byte数组和String字符串转换
- java里面byte数组和String字符串怎么转换
- java里面byte数组和String字符串怎么转换
- java里面byte数组和String字符串怎么转换
- java里面byte数组和String字符串怎么转换
- byte数组和String之间的相互转换代码
- String 与Byte[]数组之间的转换
- 理解和配置 Linux 下的 OOM Killer
- yum安装vsftpd
- java.sql.SQLException: Io 异常: Connection reset
- wifi相关配置
- HOG特征-理解篇
- 深入 JAVA里面关于byte数组和String之间的转换问题
- View和viewController的生命周期
- 内存管理内幕
- Windows下基于ADS+J-Link 的ARM开发环境搭建
- HDU 3549 Flow Problem 网络流 基础题
- IE6、IE7不支持二级子ul的问题
- hdu 3292 No more tricks, Mr Nanguo
- 二.Java编程基础(二)
- 20131202 new