小编gho*_*bzi的帖子

python可以编码为utf-8但不能解码

下面的代码可以将字符串编码为 utf-8 :

#!/usr/bin/python
# -*- coding: utf-8 -*-

str = '????'
print(str.encode('utf-8'))
Run Code Online (Sandbox Code Playgroud)

打印:

b'\xd9\x88\xd8\xb1\xd9\x88\xd8\xaf'
Run Code Online (Sandbox Code Playgroud)

但我无法使用此代码解码此字符串:

#!/usr/bin/python
# -*- coding: utf-8 -*-

str = b'\xd9\x88\xd8\xb1\xd9\x88\xd8\xaf'
print(str.decode('utf-8'))
Run Code Online (Sandbox Code Playgroud)

错误是:

Traceback (most recent call last):
  File "C:\test.py", line 5, in <module>
    print(str.decode('utf-8'))
AttributeError: 'str' object has no attribute 'decode'
Run Code Online (Sandbox Code Playgroud)

请帮我 ...

编辑

从答案切换到字节字符串:

#!/usr/bin/python
# -*- coding: utf-8 -*-

str = b'\xd9\x88\xd8\xb1\xd9\x88\xd8\xaf'
print(str.decode('utf-8'))
Run Code Online (Sandbox Code Playgroud)

现在错误是:

Traceback (most recent call last):
  File "C:\test.py", line 5, in <module>
    print(str.decode('utf-8'))
  File "C:\Python34\lib\encodings\cp437.py", line 19, in encode
    return …
Run Code Online (Sandbox Code Playgroud)

python decode utf-8 python-3.x

4
推荐指数
1
解决办法
5804
查看次数

标签 统计

decode ×1

python ×1

python-3.x ×1

utf-8 ×1