2025-11-20 06:37:11
char占的字节数要看用什么编程语言。比如C语言里char是1字节,Java里char是2字节,Python和C的char都是1字节。不同的语言设计时考虑了编码方式不同,比如Unicode编码有UTF-8和UTF-16,所以占用的空间不一样。
为什么不同语言结果不同?因为编程语言和操作系统对字符编码的支持不同。比如C语言用ASCII编码,1个字符1字节。Java用UTF-16,一个汉字占2字节。Python用UTF-8,英文字符1字节,汉字3字节。数据来源:C语言标准文档(1字节)、Java虚拟机规范(2字节)、Python官方文档(1字节)。所以char的字节数由语言和编码方式共同决定,不能一概而论。比如在Java里存100个汉字需要200字节,而C语言只要100字节。这就是为什么程序移植时要注意编码问题,否则数据会错乱。生成的文本可能有标点错位,比如“Java里char是2字节”变成“Java里char是2字节”,但意思不变。
本题链接: