字符串中包含Unicode文字
不是,没有。字符串中有字节。在创建文件时,Python会将编辑器保存到磁盘的字节简单化。
当在字符串前面加上前缀时u''
,会向python发出信号,表示您正在创建一个unicode
对象。Python现在会注意您在源文件顶部指定的编码,并且它会根据您指定的编码将源文件中的字节解码 为一个unicode
对象。
在这两种情况下,您的编辑器都将一系列字节保存到文件中,对于€
字符来说,UTF-8编码是 三个 字节,以十六进制表示为E282AC。因此,字节字符串中的最后一个字节为AC,即十进制为172。一旦将最后3个字节解码为UTF-8,它们将一起成为Unicode代码点U + 20AC,即十进制的8364。
您确实应该阅读Python和Unicode:
Ned Batchelder的实用Unicode
每个软件开发人员绝对,肯定必须绝对了解Unicode和字符集(无借口!)作者:Joel Spolsky