在 Python 中处理 Unicode 的最佳方法
有人有跨 python 应用程序处理 Unicode 字符的链接或最佳实践吗?或者我们需要到处转换字符串?
[编辑] 目前,我们正在将 urlencode 中发布的所有内容转换为 utf-8,但我想知道是否有更好的方法来处理这个问题,而不是调用encode('UTF-8')
Anyone has a link or best practices for handling Unicode characters across python applications? or we need to convert the strings all over the place?
[EDIT]
Currently we are converting everything we post in urlencode to utf-8 but im wondering if there is a better way to handle that instead of calling encode('UTF-8')
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您需要做的主要事情是理解 unicode。认识到Python中的
str
存储字节,而unicode
对象存储字符;它们是不同的事物,不应被视为可以互换。所有文本字符串都应该始终是unicode
对象;其他一切都是二进制数据。有关更多信息,请查看我的文章在 Python 中正确使用 Unicode。
The main thing you need to do is understand unicode. Realise that a
str
in Python stores bytes, while aunicode
object stores characters; they are distinct things, and shouldn't be treated as interchangeable. All your text strings should always beunicode
objects; everything else is binary data.For more, check out my article on getting Unicode right in Python.
请参阅有关 unicode 的 Python 文档。
简而言之:在内部仅适用于
unicode
对象。如果您需要与外界对话,请在输入时尽早使用.decode()
,并在输出时尽可能晚地使用.encode()
。See Python documentation on unicode.
In short: internally only work with
unicode
objects. If you need to talk to outside world,.decode()
as early as you can on input and.encode()
as late as you can on output.