在我的Paspberry上,我在Python 2.7下运行Python脚本。

我想将某些字符串文字声明为Latin-1,而不是UTF-8。

因此,我添加了声明

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


在我的文件开始时。但是,无论我使用哪种编码,以下代码段始终将我的字符串声明为UTF-8。

    s = 'äöü'
    print '%s %d' %(s, len(s))
    print '%x %x %x %x %x %x' % (ord(s[0]), ord(s[1]), ord(s[2]), ord(s[3]), ord(s[4]), ord(s[5]))


总是显示我:

äöü 6
c3 a4 c3 b6 c3 bc


用Latin-1编码声明字符串文字的正确方法是什么,即就我而言,我期望一个包含3个字符的字符串:0xe4、0xf6、0xfc?

最佳答案

据我了解,您可以使用:

s.encode('latin-1');


为您的问题。

例:

>>> s = u'ééé'.encode('latin1')
>>> s.decode('latin1')
u'\xe9\xe9\xe9'


Source of the example

如果可以的话,请给我反馈。

关于python - Python源代码编码不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35351299/

10-12 04:49