【汉字编码几个字节】

关于汉字的编码问题

不同编码汉字占用空间
【汉字编码几个字节】_第1张图片

按理来说,汉字所占字节与所在语言环境无关;
然而在《python从入门到精通》书中看到,GBK与GB2312汉字占2个字节,而UTF-8中汉字占3个字节,然而之前接触java,记得UTF-8编码下汉字是2、3、4个字节,是不确定,在这里有些迷惑;

然后又去具体用len输出一些汉字的字节数,发现上面的那本python书里说的是错误的

print(len('我'.encode()))
print(len('汉'.encode()))
print(len('嘿'.encode()))
print(len('?'.encode()))
# 3
# 3
# 3
# 4

所以UTF-8编码下,汉字字节数是不缺定的。

你可能感兴趣的:(其他)