黑马程序员技术交流社区
标题:
字节和字符的转换问题
[打印本页]
作者:
lh994749769
时间:
2014-11-26 10:07
标题:
字节和字符的转换问题
String str = "string字符串";
byte[] buf = str.getBytes();
str = new String(buf);
在上面代码中实现了字符串转换成字节然后再转换成字符的过程
问题 1.buf的大小为12也就是一个字母是1个字节一个汉字是两个字节,这是什么编码表?
问题 2.在字节转换成字符的时候系统怎么知道应该将一个字节转换成字符还是讲两个字节转换成字符呢
作者:
冬天的雪
时间:
2014-11-26 10:48
一个字母是占一个字节的,一个汉字占一个字符(2个字节)
作者:
lh994749769
时间:
2014-11-26 11:03
冬天的雪 发表于 2014-11-26 10:48
一个字母是占一个字节的,一个汉字占一个字符(2个字节)
这个我知道啊,那字节转换成字符的时候,是怎么判断应该转换一个字节还是两个字节呢???还有这事通过什么编码表转换的呢
作者:
lh994749769
时间:
2014-11-26 11:18
刚才自己测试了下,好像是用的GBK编码表,只用用这个编码解码str.getBytes("GBK"),再次用默认编码表编码的时候才不会出现乱码,GBK在编码ASCII能编码的部分是一个字节,再用一个字节中ASCII没有用到的部分加上另个一个字节编码汉字;所以GBK的特性才有
1.能够兼容ASCII
2.字母(准确来说是ASCII所能编码的部分)是用的一个字节,汉字是两个字节
作者:
高昌德
时间:
2014-11-26 11:43
自解了,,,,,,
作者:
Afridoce
时间:
2014-11-26 14:19
进来学习一下~~~~~~~~
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2