黑马程序员技术交流社区
标题:
编码中的小问题,求解答!!!!
[打印本页]
作者:
fufeng
时间:
2014-4-29 23:52
标题:
编码中的小问题,求解答!!!!
class EncodeDemo
{
public static void main(String[] args) throws Exception
{
String s = "你好";
byte[] b1 = s.getBytes();
System.out.println(Arrays.toString(b1));
System.out.println(new String(b1,"UTF-8"));
}
}
复制代码
该程序是用默认GBK编码“你好”,得到的数组中有四个字节,然后用UTF-8解码,按道理说,会出现
两个??,但是运行后的结果为什么是???,三的问号
作者:
来男.
时间:
2014-4-30 01:03
我觉得那四个字节找不到对应字符时,就去“未知字符区”找了,至于“?”的个数就不确定了..依那个“区”对照后的结果而定。你看String s = "哈哈"时,还出现四个“?”呢,数量不确定。
纯属个人理解。
作者:
fei_xiong
时间:
2014-4-30 10:05
GBK编码是一次性读取的三个字节,UTF-8一次读取两个字节,于是就出现了,GBK的两个字,如果换成UTF-8读取的话会显示三个字符的情况
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2