请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师所说的char 无法表示中文字符是什么意思呢?

char c=‘中’;这样有什么问题吗?老师所说的char 无法表示中文字符是什么意思呢?

正在回答 回答被采纳积分+3

2回答

qq_一直都在_3 2022-04-21 06:59:33

char只能用于一个字节,而一个中文占两个字节,所以char不能用于中文声明

1 回复 有任何疑惑可以回复我~
  • 看字符编码utf8就是三个字节
    回复 有任何疑惑可以回复我~ 2022-05-05 15:02:22
  • char类型表示utf16,应该是两个字节,而且char c = '中'; 也没有报错,这里我也不知道老师为什么说不能用来表示中文?
    回复 有任何疑惑可以回复我~ 2022-05-20 23:24:40
我是没有昵称 2022-06-20 09:44:51

试了一下,以下代码是没问题的

char c = '中';
Console.WriteLine(sizeof(char));
Console.WriteLine(c);

可以正常打印出汉字 '中' ,并且 sizeof 计算 char 的大小的结果是 2

运行环境 .net 6

微软的帮助文档是这样描述 char 的

.NET 使用 Char 结构通过 UTF-16 编码来表示 Unicode 代码点。 对象的值 Char 是其 16 位数字 (序号) 值。

https://docs.microsoft.com/zh-CN/dotnet/api/system.char?view=net-6.0

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信