我的代码只是刮取一个网页,然后将其转换为Unicode
。
html = urllib.urlopen(link).read()
html.encode("utf8","ignore")
self.response.out.write(html)
但是我得到了UnicodeDecodeError
:
Traceback (most recent call last):
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/webapp/__init__.py", line 507, in __call__
handler.get(*groups)
File "/Users/greg/clounce/main.py", line 55, in get
html.encode("utf8","ignore")
UnicodeDecodeError: 'ascii' codec can't decode byte 0xa0 in position 2818: ordinal not in range(128)
我认为这意味着HTML在某处包含一些错误的Unicode尝试。我能丢掉导致问题的任何代码字节而不出错吗?
使用类似的压缩gzip
已变得非常流行(约73%的网站都在使用它,包括Google,YouTube,Yahoo,Wikipedia,Reddit,Stack Overflow
和Stack Exchange Network
网站等大型网站)。
如果你像原始答案中那样使用gzip
压缩响应进行简单解码,则会收到类似以下错误:
UnicodeDecodeError:'utf8'
编解码器无法解码位置1的字节0x8b
为了解码gzpipped响应,你需要添加以下模块(在Python 3中):
import gzip
import io
问题内容: 我无法在不丢失数据的情况下将以下Unicode转换为ASCII: 我尝试了,他们不会这样做。 有人有建议吗? 问题答案: Unicode字符,并且没有任何对应的ASCII值。因此,如果您不想丢失数据,则必须以某种有效的ASCII方式对数据进行编码。选项包括: 所有这些都是ASCII字符串,并且包含来自原始Unicode字符串的所有信息(因此可以将它们全部逆转而不会丢失数据),但是对于最
问题内容: 我现在正在尝试将unicode字体转换为android中的ascii。我写了下面的代码将unicode字体转换为ascii,但是失败了。因为转换后结果无法正确显示。 unicode字体=’ေနေကာင္းပါသလား’类似于’\ u100F \ u1039 \ u100D’ 问题答案: 使用java.text.Normalizer类将unicode转换为ascii。这是答案的示例代码h
本文向大家介绍js 中文汉字转Unicode、Unicode转中文汉字、ASCII转换Unicode、Unicode转换ASCII、中文转换&#XXX函数代码,包括了js 中文汉字转Unicode、Unicode转中文汉字、ASCII转换Unicode、Unicode转换ASCII、中文转换&#XXX函数代码的使用技巧和注意事项,需要的朋友参考一下 最近看不少在线工具里面都有一些编码转换的代码,很
问题内容: 我从HTML页面中将一个字符串输入到Java HTTPServlet中。根据我的要求,我得到了显示汉字的ASCII码: “可以告诉我” (无空格) 如何将该字符串转换为Unicode? HTML代码: Java代码: 如果我打印问题[0],则会得到以下值:“可以告&#3578
问题内容: 我应该通过使用Java将EBCDIC文件转换为ASCII。到目前为止,我有以下代码: 文件描述如下: 我们可以忽略每一行的前2个字节。问题是字节存在USAGE IS COMP,因为读者无法正确转换它们,我想我应该将它们读取为字节或其他内容,尽管我不知道如何。 问题答案: 如果我正确地解释了这种格式,则您的二进制文件格式具有固定长度的记录。其中一些记录不是字符数据(COBOL计算字段?)
问题内容: 我使用第3方工具输出Unicode格式的文件。但是,我更喜欢使用ASCII。该工具没有设置来更改文件格式。 使用Python转换整个文件格式的最佳方法是什么? 问题答案: 您可以仅使用函数就可以轻松地转换文件,但是如果没有与ASCII直接对应的Unicode字符,就会遇到问题。 该博客推荐该模块,该模块似乎可以粗略地转换字符而无需直接对应的ASCII值,例如 通常转换为 这是非常错误的