日期:2014-05-18  浏览次数:20763 次

String转byte数组有什么作用?
byte数组是怎么存储String类型数据的?存储之后能正常遍历打印出吗?

------解决方案--------------------
String是由final char[]构成的。
byte存储的是char[]
你打印byte的话那就是输出一大串的数字,最大应该是127吧
如果编码格式不变,能转回成String
------解决方案--------------------
引用:
byte数组是怎么存储String类型数据的?存储之后能正常遍历打印出吗?

所有的对象都是以字节数组存储的,只不过为了让人易于理解,才有了String,int什么的
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

String是由final char[]构成的。
byte存储的是char[]
你打印byte的话那就是输出一大串的数字,最大应该是127吧
如果编码格式不变,能转回成String


那如果我的String是数字,比如“张三”,那他是由哪些char构成的啊?


写错了,是汉字

"张三".getBytes()得到四个字节的数组,汉字每个占两个字节
------解决方案--------------------
引用:
Quote: 引用:

String是由final char[]构成的。
byte存储的是char[]
你打印byte的话那就是输出一大串的数字,最大应该是127吧
如果编码格式不变,能转回成String


那如果我的String是数字,比如“张三”,那他是由哪些char构成的啊?

char[] charArray = "您好".toCharArray();
System.out.println(charArray[0]);
System.out.println(charArray[1]);
看效果。
汉字占几个字节是由编码格式决定的,GBK格式的占三个字节,UTF-8的占2个字节。
------解决方案--------------------
可以用在流中传输
------解决方案--------------------
比如套接字通信 。
------解决方案--------------------
String 还和编码有关系。
------解决方案--------------------
我知道web中的乱码问题,有时需要把String转换为数组
------解决方案--------------------
网络传输就要转换成byte了