发布时间:2024-10-12 15:01
Python 中,数字0-9、英文字母a-zA-Z、小数点.、下划线_以及空格 ,各占一个字节,而一个汉字可能占 2~4 个字节,具体占多少个,取决于采用的编码方式。
1字节=8bit/位(2进制,1位只有0和1两种表示)
汉字在 GBK/GB2312 编码中占用 2 个字节,而在 UTF-8 编码中一般占用 3 个字节。
Python3 默认使用utf-8 编码
len(str) 返回的是字节数, 即单位为 字节/byte
str1 = "人生苦短,我用Python" # 6个汉字,1个中文逗号,6个英文,共占7*3+6=27
print(len(str1.encode())) #27
str1 = "人生苦短,我用Python" # 7*2+6=20
print(len(str1.encode('gbk'))) # 20