简体   繁体   English

Python2.7 UnicodeEncodeError:'ascii'编解码器不能编码0-11位的字符:序号不在范围内(128)

[英]Python2.7 UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-11: ordinal not in range(128)

I am currently using python 2.7 and doing web scraping on a Chinese website. 我目前正在使用python 2.7并在中文网站上进行网页抓取。

How to convert unicode below into a string? 如何将下面的unicode转换为字符串?

Simple str() function does not work and states UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-11: ordinal not in range(128) 简单的str()函数不起作用并且状态为UnicodeEncodeError:'ascii'编解码器不能编码位置0-11中的字符:序数不在范围内(128)

Thanks in advance, 提前致谢,

    u'\n\xe4\xb8\xad\xe5\x9b\xbd\xe6\xb7\xb1\xe5\x9c\xb3\n'

Your string was already encoded, so it should be a bytes object not a unicode object. 您的字符串已经编码,因此它应该是一个字节对象而不是一个unicode对象。 Try and solve that problem instead. 尝试并解决该问题。 ie the repr of your scraped data should be looking like this: 即你的抓取数据的repr应如下所示:

'\n\xe4\xb8\xad\xe5\x9b\xbd\xe6\xb7\xb1\xe5\x9c\xb3\n'

not like this: 不是这样的:

u'\n\xe4\xb8\xad\xe5\x9b\xbd\xe6\xb7\xb1\xe5\x9c\xb3\n'

To recover the Chinese text from the unicode object, you can jump to bytes and back: 要从unicode对象恢复中文文本,您可以跳转到字节并返回:

>>> text = u'\n\xe4\xb8\xad\xe5\x9b\xbd\xe6\xb7\xb1\xe5\x9c\xb3\n'
>>> print text.encode('latin-1').decode('utf-8')

中国深圳

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 UnicodeEncodeError:“ ascii”编解码器无法对位置10-11中的字符进行编码:序数不在范围内(128) - UnicodeEncodeError: 'ascii' codec can't encode characters in position 10-11: ordinal not in range(128) Python mmh3:UnicodeEncodeError:'ascii'编解码器无法在位置0-14处编码字符:序数不在范围内(128) - Python mmh3: UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-14: ordinal not in range(128) Python:UnicodeEncodeError:'ascii'编解码器无法在位置34-39处编码字符:序数不在范围内(128) - Python: UnicodeEncodeError: 'ascii' codec can't encode characters in position 34-39: ordinal not in range(128) Python2.7打印unicode字符串仍在获取UnicodeEncodeError:'ascii'编解码器无法编码字符…序数不在范围内(128) - Python2.7 print unicode string still getting UnicodeEncodeError: 'ascii' codec can't encode character … ordinal not in range(128) UnicodeEncodeError:“ ascii”编解码器无法对不在范围内的字符进行编码(128) - UnicodeEncodeError: 'ascii' codec can't encode characters ordinal not in range(128) UnicodeEncodeError: 'ascii' codec can't encode character u'\●' in position 24: ordinal not in range(128) in Python 2.7 - UnicodeEncodeError: 'ascii' codec can't encode character u'\u25cf' in position 24: ordinal not in range(128) in Python 2.7 带有pandas to_csv()的Python 2.7给出了UnicodeEncodeError:'ascii'编解码器不能编码位置4中的字符u'\\ xc7':序数不在范围内(128) - Python 2.7 with pandas to_csv() gives UnicodeEncodeError: 'ascii' codec can't encode character u'\xc7' in position 4: ordinal not in range(128) UnicodeEncodeError:'ascii'编解码器无法在位置0-3处编码字符:序数不在范围(128)中? - UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3: ordinal not in range(128)? Canopy UnicodeEncodeError:“ ascii”编解码器无法对位置31-32中的字符进行编码:序数不在范围内(128) - Canopy UnicodeEncodeError: 'ascii' codec can't encode characters in position 31-32: ordinal not in range(128) UnicodeEncodeError:'ascii'编解码器不能编码位置0-6的字符:序数不在范围内(128) - UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-6: ordinal not in range(128)
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM