VS2010默认使用 Unicode 字符集,那Java也是Unicode 字符集,char或是中文字符都是占两个字节。
VS2010选项-属性-配置属性-项目默认值-字符集可以看到默认使用Unicode字符集,那Java中也是Unicode字符集,char或是中文字符都是占两个字节,那C+...
VS2010选项-属性-配置属性-项目默认值-字符集可以看到默认使用 Unicode 字符集,那Java中也是Unicode 字符集,char或是中文字符都是占两个字节,那C++中char不是单字节吗,怎么解释?
展开
2个回答
展开全部
首先java中的中文字符不一定占两个字节,这主要取决于使用哪种编码,针对Unicode字符集来说,常用中文使用UTF-8编码为3个字节,此时调用toCharArray()方法可知为1个字符,使用UTF-16编码为2个字节,此时调用toCharArray()方法可知也为1个字符。为什么3个字节java也会识别为1个char(字符)呢。那是因为java无论你编码方式选择哪种最终计算char(字符)个数是按照UTF-16来计算的即2个字节为一个字符。为方便比较,特别说明:‘𩄀’这个字使用UTF-16编码为4个字节,在java中调用toCharArray()方法取得char个数为2,所以‘𩄀’在java中是2个char。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询