0
我仔細日前讀到unicode的疼痛文章,這個問題小時前問:爲什麼python需要unicode類型,因爲我可以直接用任何unicode字符聲明一個變量?
Do I have to encode unicode variable before write to file?
但最近一個奇怪的問題,我腦子裏浮現。
我發現,這些代碼很好地工作:
chinese = ['中文', '你好'] # py2, these are bytes, type is str
with open('filename', 'wb') as f:
f.writelines(chinese)
因爲我可以同在PY2和PY3任何Unicode字符,什麼蟒蛇直接聲明一個變量(或我們)得到的unicode類型參與?我們不能只在整個程序中使用str(py2)和bytes(py3)類型嗎?那麼所謂的unicode pain將不存在。
有人可以給我一些見解嗎?
是的。這也是我所考慮的,關於字符串操作。但我只想看看是否有其他原因,我可能不知道:D。所以我可以說'如果你試圖做任何有用的值,例如切片,下標,取長度,然後一切都打破。'是「unicode疼痛」的來源? – Tianqing
文本是文本,字節是字節。如果你只想用字節工作,那很好,但是不要轉過頭來假裝你正在處理文本。 –