在每个文字的基础上指定unicode文字的编码

时间:2013-10-17 07:11:39

标签: python unicode unicode-literals

根据the documentation,可以定义python源中使用的文字的编码,如下所示:

# -*- coding: latin-1 -*-

u = u'abcdé'  # This is a unicode string encoded in latin-1

是否有语法支持以文字为基础指定编码?我正在寻找类似的东西:

latin1 = u('latin-1')'abcdé'  # This is a unicode string encoded in latin-1
utf8   = u('utf-8')'xxxxx'    # This is a unicode string encoded in utf-8

我知道语法没有意义,但我正在寻找类似的东西。我能做什么?或者是否可能无法使用不同编码的unicode字符串生成单个源文件?

1 个答案:

答案 0 :(得分:1)

您无法将unicode文字标记为使用与源文件的其余部分不同的编码,编号为

相反,您可以从字节字符串手动解码文字:

latin1 = 'abcdé'.decode('latin1')  # provided `é` is stored in the source as a E9 byte.

或使用转义序列:

latin1 = 'abcd\xe9'.decode('latin1')

源代码编解码器行的重点是支持在编辑器中使用任意编解码器。源代码绝不应该使用混合编码,真的