![](/img/trans.png)
[英]unicode() vs. str.decode() for a utf8 encoded byte string (python 2.x)
[英]Python 2.x Strings: Unicode vs. Bytes
我使用的是非美國語言,有時還必須使用Python 2.x編寫。 閱讀這篇文章:Brett Cannon撰寫的http://www.snarky.ca/why-python-3-exists讓我想知道這是否意味着如果我使用的只是字符而不是字節的字符串,我應該在所有字符串之前加上u
,以避免在字節字符串和unicode字符串之間混淆的可能? 並且:這也適用於Jython嗎?
最后一個問題: -*- coding: utf-8 -*-
完全獨立於上述內容,僅提供文件本身的編碼-對嗎?
是的,您想將文本保留在unicode
對象中(Python 3中的str
類型),並維護Unicode三明治(盡快解碼傳入的數據,推遲編碼直到數據需要退出應用程序為止)。 請參閱Ned Batchelder的出色Unicode演示 。
這也適用於Jython,它只是Python語言的另一種實現。
PEP 263源代碼編碼聲明告訴解釋器在解碼源代碼中的字節時使用哪種編解碼器。 它在定義具有非ASCII字節的Unicode文字時會有所幫助,但不會規定如何編碼或解碼除源代碼以外的其他數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.