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