添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
正直的大蒜  ·  Inception ...·  1 年前    · 
犯傻的黄豆  ·  Django的主键前缀和长度·  1 年前    · 

import chardet
sys.setdefaultencoding('utf-8')
strs=" should buy\x85 appleyuchi \x85 I decide to try this one. "
# fencoding=chardet.detect(strs)
# print fencoding
import re
p=re.compile(r'[^\x00-\x7f]')
m=re.sub(p,'',strs)

print m

第二种办法是

#-*- encoding:utf-8 -*-
import sys
reload(sys)
import chardet
sys.setdefaultencoding('utf-8')
strs=" should buy\x85 appleyuchi \x85 I decide to try this one. "

fencoding=chardet.detect(strs)
print fencoding

print strs.decode('windows-1252')

运行结果:

{'confidence': 0.73, 'language': '', 'encoding': 'Windows-1252'}
should buy… appleyuchi … I decide to try this one.

也就是先判断strs是什么类型的编码,然后根据该编码名字进行解码

第三种办法:

定位到错误后,在python交互模式下:

>>> ord('\x85')
133

因为unicode是兼容ASCII的,但是ord值大于127,所以\x85既不是ASCII也不属于unicode,只能是其他编码,判断之后,转到第一种处理或者第二种办法处理。

记录网友的话:用java爬取数据,即使代码中设定编码为utf-8,但是如果数据本身是非utf-8,那么即使代码设定为utf-8,也是无法对非utf-8的数据进行解码的,此时只能手动解码。decode('windows-1252')

字符集可以在下面查看(需要翻墙),在右上角输入\x85,回车后就可以查到在不通的语言中对应的字符

http://www.charbase.com/0085-unicode-next-line-nel

‘’我‘’这个汉字不是一个char。是utf编码后到字符串
字符,字符串是两个不同的东西
unicode做的就是用多个字符表示一个对应的关系
>>> print('我'.encode())
b'\xe6\x88\x91'
for i in str('我'.encode()): print(ord(i))
每一位ascii(也就是\xe6,\x88\,x91)都是在128以下的  第一种办法是使用正则直接删除非utf-8的字符\x85,以下是请网友帮助写的#-*- encoding:utf-8 -*-import sysreload(sys)import chardetsys.setdefaultencoding('utf-8')strs=" should buy\x85 appleyuchi \x85 I decide to try this one. "        ...
最近做一个关于正则匹配的项目,用open()打开 UTF-8 格式的文件,读取每一行的内容;由于一些文件中存在 UTF-8 标准的 字符 ,脚本执行会报错。在debug过程中发现,实际上不论你写的是read(1)(读取一个字节的内容)还是readline()(读取一行的内容), python 库函数会一次性读取一大块内容,一旦这块数据中有 法字节,整个调用就会出错。 例如以下代码读取每一行内容并打印,实际上含有...
在处理文档相关项目中,经常会碰到 utf8 字符 ,例如用户上传一个文件,系统根据用户文件产生相应结果返回。如果用户文件(utf 编码 的csv文件)中有 utf8 字符 ,需要程序能自动去掉这些 字符 ,因为这些 字符 也是无意义的。 错误信息: 处理方法:
有时候一个文件中的 文本 会用gbk、 utf-8 去解码,获取其中的内容,但是有些 utf-8 能表示的 字符 ,gbk无法表示,所以这里先把gbk不能表示的 字符 去除 ,再将 文本 解码成 utf-8 后存储为 utf-8 字符 集格式。 原理就是利用了encode函数的errors选项,设置errors=‘ignore’,略过错误 字符 content=u'\uf0b7\ufeff\uf052\uf0a3汉字' print(content) print(content.encode(' utf-8 ')) print(content.
def find_chinese(file): pattern = re.compile(r'[^\u4e00-\u9fa5]') chinese = re.sub(pattern, '', file) print(chinese) def find_unchinese(file): pattern = re.compil...
当我们用 Python 来处理有乱码的文件时,经常会遇到 编码 错误,有时候不得不加一个errors = 'ignore'参数来忽略错误,今天分享一下如何用 Python 删除 这些乱码,得到一个干净的文件。 先说下思路:用二进制方式打开文件,这样就不会出现 编码 问题,然后读取每一个字节,只要这个字节不在我们使用 编码 的范围内,就把它踢掉,然后保存剩下的字节,我们得到的就是一个干净的文件。 比如说这样 ascii 编码 的文件,它含有乱码: 处理之后是这样的: 代码是这样写的: import...