已經有相當一些幫助,但我仍然困惑。Python長度的Unicode字符串混淆
我有一個unicode字符串是這樣的:
title = u'test'
title_length = len(title) #5
但是!我需要len(title)爲6.客戶期望它是6,因爲它們似乎以與我在後端不同的方式計算。
作爲一種解決方法,我寫了這個小助手,但我相信它可以得到改進(對編碼有足夠的瞭解),或者甚至是錯誤的。
title_length = len(title) + repr(title).count('\\U') #6
1.是否有更好的方法獲得長度爲6? :-)
我假設我(Python)計數的Unicode字符的數量是5.客戶端正在計算字節數?
2.我的邏輯會中斷其他需要4個字節的Unicode字符嗎?
運行Python 2.7 ucs4。
客戶端統計UTF-16代理對。 –
當我嘗試運行這兩行時,它顯示長度爲6. – ssundarraj
@ssundarraj:查看我的答案;您正在運行Python 2 UCS2版本。使用Python 3.3或更高版本,或者讓自己成爲UCS4版本。 –