如何在python中对西班牙语进行编码和解码
Posted
技术标签:
【中文标题】如何在python中对西班牙语进行编码和解码【英文标题】:How to encode and decode from spanish in python 【发布时间】:2014-01-22 23:34:38 【问题描述】:我有以下用 python 2.7 编写的代码
# -*- coding: utf-8 -*-
import sys
_string = "años luz detrás"
print _string.encode("utf-8")
这会引发以下错误:
print _string.encode("utf-8")
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 1: ordinal not in range(128)
任何帮助表示赞赏,在此先感谢
【问题讨论】:
你不需要使用encode,只尝试"print _string" Python - 'ascii' codec can't decode byte的可能重复 【参考方案1】:在 Python 2 中,字符串文字 ""
创建一个字节串。然后你在一个字节串上调用.encode("utf-8")
,在执行.encode("utf-8")
之前,Python首先尝试使用默认字符编码(ascii
)将其解码为Unicode字符串。
u""
创建 Unicode 字符串。它将 UnicodeDecodeError 修复为@Bleeding Fingers suggested。
# -*- coding: utf-8 -*-
print u"años luz detrás"
如果标准输出被重定向,它可能会导致UnicodeEncodeError
。在这种情况下设置PYTHONIOENCODING
环境变量。
【讨论】:
【参考方案2】:在"
之前添加u
>>> _string = u"años luz detrás"
>>> print _string.encode("utf-8")
años luz detrás
这样就可以了。
【讨论】:
以上是关于如何在python中对西班牙语进行编码和解码的主要内容,如果未能解决你的问题,请参考以下文章
Python 爬虫篇 - 调用有道翻译api接口翻译外文网站的整篇西班牙文实战演示。爬取西班牙语文章调用有道翻译接口进行整篇翻译