2
我想了解不同的长度,我与相处了相同的Unicode字符的字节对象的意义!!!!!。我知道第一个长度(Len1)是我单个unicode字符串的ACTUAL长度,第二个长度(Len2)可能是单个Unicode字符占据的字节总数,但其他剩余长度是多少(Len3 & Len4)代表?我使用python 3如何解释为同一Unicode的不同长度在Python 3
MyStr = '✮'
print(MyStr," Len1 = ", len(MyStr))
print(bytes(MyStr, 'utf-8'), Len2 = ", len(bytes(MyStr, 'utf-8')))
print(MyStr.encode('unicode_escape'), " Len3 = ", len(MyStr.encode('unicode_escape')))
print(ascii(MyStr), " Len4 = ", len(ascii(MyStr)))
这里是输出..
✮ Len1 = 1
b'\xe2\x9c\xae' Len2 = 3
b'\\u272e' Len3 = 6
'\u272e' Len4 = 8
我想你应该看看这篇文章通过这样的联合创始人:[(!没有借口)绝对最低每一个软件开发人员绝对,积极必须知道的关于Unicode和字符集(https://www.joelonsoftware.com/ 2003/10/08 /的,绝对最低每一个软件开发者,绝对-正必知 - 关于支持unicode和字符集,没有借口) –
“第二长度(LEN2)可能是单个Unicode字符占据的字节总数“,错误,实际上,当以UTF-8表示时,这是Unicode字节序列的长度(以字节为单位)。 UTF-8只是存储Unicode序列的许多方法之一(但现在是常用的一种)。 – Anthon
@Anthon tbh您刚刚重新评估了OP的评估并添加了“以UTF-8”的形式。 – timgeb