VS2010默认使用 Unicode 字符集,那Java也是Unicode 字符集,char或是中文字符都是占两个字节。

VS2010选项-属性-配置属性-项目默认值-字符集可以看到默认使用Unicode字符集,那Java中也是Unicode字符集,char或是中文字符都是占两个字节,那C+... VS2010选项-属性-配置属性-项目默认值-字符集可以看到默认使用 Unicode 字符集,那Java中也是Unicode 字符集,char或是中文字符都是占两个字节,那C++中char不是单字节吗,怎么解释? 展开
 我来答
摩羯1231asd
2017-07-20
知道答主
回答量:9
采纳率:0%
帮助的人:2.3万
展开全部
首先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。
百度网友6705c13
2017-07-20 · TA获得超过801个赞
知道小有建树答主
回答量:613
采纳率:83%
帮助的人:192万
展开全部
不同语言的char定义本来就不同,以C#或者Java中,char是基于Unicode的,它可不是只占1个字节,能存储各类字符。
C里面的char只占1个字节,不能存储中文等宽字符,和C#里的char不是一个东西,如果要类比,你可以认为C#的char相当于C里面的wchar_t。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式