擅长:python、mysql、java
<p>Python对unicode的支持在3.x中并没有真正改变,自从python2.x引入了单独的<code>unicode</code>类型和编码处理之后,Python中的unicode<em>支持几乎是一样的。python3.x所做的改变是unicode成为唯一的字符串类型(并被重命名为<code>str</code>),而2.x有bytestrings(<code>str</code>,<code>"..."</code>)和unicode字符串(<code>unicode</code>,<code>u"..."</code>)经常但并不总是完全混合在一起。(允许它们混合使用是为了使从bytestrings到unicode的转换更容易,但结果却是一个错误。)总而言之,Python的unicode支持非常好,尽管python2.x中存在错误。有带数字和命名转义符的unicode文本、unicode文本中非ASCII字符的源代码声明、通过<code>codecs</code>模块自动编码/解码、许多库(如正则表达式和DB-API模块)中的unicode支持以及内置unicode数据库。在</p>
<p>也就是说,为了正确地处理文本,您仍然需要了解编码。您的程序将以某种编码方式接收字节(无论是从文件、环境变量还是通过其他输入),它们将需要以该编码进行解释。如果您不知道编码(也不能从数据中确定编码,比如在HTML或XML中),那么您实际上只能将数据作为字节来处理。如果您知道编码,Python确实允许您透明地处理它。在</p>