unicode - 带有unicode变量的UnicodeDecodeError

  显示原文与译文双语对照的内容
123 0

当我尝试处理某些字符时,会出现一个错误,但是当我试图处理某个值时,会出现一个错误,当我在文件的开头设置了代码。

我尝试了这个编码:iso-8859-15,cp1251,我查看了这个,但是当变量的值包含这个字符时: `

在终端上,可以执行以下操作:


a='Donxb4t dream itxb4s over'
a = a.replace("xb4","'")
print a
output: Don't dream it's over

为什么它在终端工作,但不在我的python 文件中。

时间: 原作者:

119 1

代码是为我工作的。 以下是我所做的:

  1. 将以下代码复制到一个文件中,并将它的命名为 test.py

    
    a='Donxb4t dream itxb4s over'
    a = a.replace("xb4","'")
    print a
    
    
  2. 运行 test.py python./test.py,下面是输出

    
    Don't dream it's over
    
    
  3. 我的python 版本是 python 2.7.3

原作者:
101 1

你需要将正确的代码页解码为 Unicode 。 然后,如果你需要在另一个代码页中使用( 如 UTF-8 ),你可以对它进行编码。 当你使用 print python 将尝试将它自动编码到你的终端的代码页。


>>> a = a.decode('iso-8859-1')
>>> print a
Don´t dream it´s over

编辑:试图破解实际问题是困难的。 也许你试图从文件中读取文本,而这是不工作的? 再次了解文件的编码是很重要的。 许多现代文件使用 UTF-8 编码。


a = f.readline()
a = a.decode('utf-8')
print a

原作者:
...