【发布时间】:2010-09-06 12:49:28
【问题描述】:
我在Django tutorial中偶然发现了这段话:
Django 模型有一个默认的 str() 方法,该方法调用 unicode() 并将结果转换为 UTF-8 字节串。这意味着 unicode(p) 将返回一个 Unicode 字符串,而 str(p) 将返回一个普通字符串,字符编码为 UTF-8。
现在,我很困惑,因为 afaik Unicode 不是任何特定的表示形式,那么 Python 中的“Unicode 字符串”是什么?这是否意味着UCS-2?谷歌搜索出现了this "Python Unicode Tutorial",它大胆地指出
Unicode 是一种双字节编码,涵盖了世界上所有常见的书写系统。
这是完全错误的,是吗?我曾多次被字符集和编码问题弄糊涂,但在这里我很确定我正在阅读的文档很困惑。当 Python 给我一个“Unicode 字符串”时,有人知道它发生了什么吗?
【问题讨论】: