(一)字符编码位数
别看见代码就不想看,信我,比看汉字还省劲~
str1 = '陈丽丽'
str2 = 'a'
str3 = 'abcd'
print(str1.encode('gbk'), '\n', # b'\xb3\xc2\xc0\xf6\xc0\xf6'
str2.encode('gbk'), '\n', # b'a'
str3.encode('gbk')) # b'abcd'
print(len(str1.encode('gbk'))) # 6
print(len(str2.encode('gbk'))) # 1
print(len(str3.encode('gbk'))) # 4
分析:
(1)最前面的b代表二进制,这里的讨论只与引号里面有关。“陈丽丽”的gbk(国标码)为
b'\xb3\xc2\xc0\xf6\xc0\xf6'
长度为 6 ,为什么呢? 首先了解:\x表示16进制 ,\xb3表示一个字节,数一下这种形式正好是六个字
节,而一个汉字代表两个字节,2 * 3 = 6 ,所以“陈丽丽”三个字6个字节理解了吧
&#