汉字在内存中占多少字节

2022-07-02 05:15

请问,C++语言中汉字在内存中占多少字节?如果想用一个变量来存放四个汉字的话,该如何定义?谢谢
2022-07-02 07:47
这个是不一定的,要看是什么编码了,不同的编码存放的字节数不一定一样。
GBK编码下,一个汉字占2个字节;
UTF-8编码下,一个汉字占3个字节
UTF-8是一种国际通用的一种变长编码,ASCII对应的字符在UTF-8下占1个字符,西方文字(希腊文字)占2个字符,中文占用3个字节数,还有平面符号占4个字节。
要定义变量的话就定义4*N + 1,N是一个汉字占得字节数。
更多回答
一般情况下,一个汉字是占用两个字节的。这是指汉字编码,就象每个字符都有一个ASCII码一样。1个ASCII码占1个字节,而1个汉字编码占2个字节。

如果是在UTF-8编码下,一个汉字占3个字节,UTF-8是一种国际通用的一种变长编码,ASCII对应的字符在UTF-8下占1个字符,西方文字(希腊文字)占2个字符,中文占用3个字节数,还有平面符号占4个字节。
一般而言,一个常见汉字2个字节,正常情况下,存放4个汉字需要使用至少存放9个字符的字符数组 ,多的一个用于存放字符串结尾符号'\0'
一个汉字2个字节
存四个汉字定义8个字节的字符数组即可
热门问答