请教一个问题
Topic source换个理解方式 ‘中文’ 和b‘中文’ 这么看理解了吧 ‘中文’是字符串 len(‘中文’)包含2个字符 len(b’中文‘)包含6个字节 ’abc‘包含3个字符 由于英文字母一个字符就是1个字节 所以长度和b’abc一样 但是 字符不等于字节 理解了吧 我反正是这么理解的
指出2楼回答中的一个问题,len(b'中文')是无法运行的,因为含有中文的str无法用ASCII编码,但可以用UTF-8编码为bytes,即写成
len('中文'.encode('utf-8'))
才能得到结果6。由此可见,1个中文字符经过UTF-8编码后通常会占用3个字节。
- 1
sheep--羊
要注意区分'ABC'和b'ABC',前者是str,后者虽然内容显示得和前者一样,但bytes的每个字符都只占用一个字节。 这段不太理解,说的不同是指编码方式不同吗?'ABC'是Unicode编码,而b'ABC'是utf-8编码,是这样吗?