解决\xa0 、 \u3000导致的编码问题 - CSDN博客
文章推薦指數: 80 %
print "非法字符\xa0".encode("GBK", 'ignore');. 1. codecs从UTF-8转换为GBK格式. #-*- coding: UTF- ...
解决\xa0、\u3000导致的编码问题
小龙在山东
于 2017-10-1919:52:24 发布
4710
收藏
5
分类专栏:
python
文章标签:
python
版权声明:本文为博主原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/lilongsy/article/details/78288697
版权
python
专栏收录该内容
189篇文章
5订阅
订阅专栏
当python要做编码转换的时候,会借助于内部的编码,转换过程是这样的:
原有编码->内部编码(UNICODE)->目的编码
\xa0是不间断空白符
我们通常所用的空格是\x20,是在标准ASCII可见字符0x20~0x7e范围内。
而\xa0属于latin1(ISO/IEC_8859-1)中的扩展字符集字符,代表空白符nbsp(non-breakingspace)。
latin1字符集向下兼容ASCII(0x20~0x7e)。
通常我们见到的字符多数是latin1的,比如在MySQL数据库中。
这里也有一张简陋的Latin1字符集对照表。
\u3000是全角的空白符
根据Unicode编码标准及其基本多语言面的定义,\u3000属于CJK字符的CJK标点符号区块内,是空白字符之一。
它的名字是IdeographicSpace,有人译作表意字空格、象形字空格等。
顾名思义,就是全角的CJK空格。
它跟nbsp不一样,是可以被换行间断的。
常用于制造缩进,wiki还说用于抬头,但没见过。
这里还有一个Unicode.org上关于CJK标点符号块的字符代码表。
在读取文件的时候,可以让codecs来代劳。
codecs读文件
results.txt
两部委:到2020年底重点城市生活垃圾得到有效分类(图)
英雄惜英雄!传奇为格策叫冤:已尽力不应被批
中华关爱失能老兵和老人公益行活动启动仪式在京举行(组图)
国安酷暑作战满意拿分谢峰:上半场少补一次水
国内首家省级民营投资平台在无锡揭牌成立
5月外汇供求进一步趋向平衡跨境资金流出压力缓解
#-*-coding:UTF-8-*-
importcodecs
#第三个参数可以为r只读w只写a附加r+读写
cf=codecs.open("results.txt","r","UTF-8")
s=cf.read()
prints.encode("GBK",'ignore')
cf.close()
如果报以下错误:
UnicodeEncodeError:'gbk'codeccan'tencodecharacteru'\xa0'inposition659:illegalmultibytesequence
是因为Windowscmd默认是GBK(CP936)编码,有部分Unicde的字符无法编码为GBK,所以可以把这些字符替换为空格,或者忽略掉。
string.replace(u'\xa0',u'')
或
print"非法字符\xa0".encode("GBK",'ignore');
codecs从UTF-8转换为GBK格式
#-*-coding:UTF-8-*-
importsys
reload(sys)
#设置系统默认编码
sys.setdefaultencoding("gbk")
importcodecs
crf=codecs.open("results.txt","r","UTF-8")
s=crf.read()
crf.close()
cwf=codecs.open("out.txt","w","gbk")
printtype(s)
#把UTF-8编码的字符串转换为GBK编码,并忽略掉无法编码的字符。
cwf.write(s.encode("gbk",'ignore'))
cwf.flush()
cwf.close()
如果不加sys.setdefaultencoding("gbk")报错:
UnicodeDecodeError:'utf8'codeccan'tdecodebyte0xd6inposition2:invalidc
ontinuationbyte
sys.setdefaultencoding("gbk")是把系统默认编码方式设置为GBK。
使用编码器
#-*-coding:UTF-8-*-
importcodecs
#创建gb2312编码器
cgb=codecs.lookup("gb2312")
#创建utf-8编码器
#lookup函数返回一个包含四个元素的TUPLE
cutf8=codecs.lookup("utf-8")
printcutf8[0]
#
为什么从unicode转str是encode,而反过来叫decode?
因为Python认为16位的unicode才是字符的唯一内码,而大家常用的字符集如gb2312,gb18030/gbk,utf-8,以及ascii都是字符的二进制(字节)编码形式。
把字符从unicode转换成二进制编码,当然是要encode。
反过来,在Python中出现的str都是用字符集编码的ansi字符串。
Python本身并不知道str的编码,需要由开发者指定正确的字符集decode。
参考
http://blog.csdn.net/gooooa/article/details/72731429https://www.crifan.com/tutorial_python_codecs_process_file_char_encoding/http://blog.csdn.net/suofiya2008/article/details/5579413http://in355hz.iteye.com/blog/1860787
小龙在山东
关注
关注
1
点赞
踩
5
收藏
打赏
0
评论
解决\xa0、\u3000导致的编码问题
当python要做编码转换的时候,会借助于内部的编码,转换过程是这样的:原有编码->内部编码(UNICODE)->目的编码在读取文件的时候,可以让codecs来代劳。
codecs读文件results.txt两部委:到2020年底重点城市生活垃圾得到有效分类(图)英雄惜英雄!传奇为格策叫冤:已尽力不应被批中华关爱失能老兵和老人公益行活动启动仪式在京举行(组图)国安酷暑作战满意拿分谢峰
复制链接
扫一扫
专栏目录
把VSCode当作记事本使用
zorrow2017的博客
07-15
2985
讲vscode的5个设置、3个代码模板、十几个快捷键、语法高亮插件和格式美化插件;
网页爬虫中\xa0、\u3000等字符的解释及去除
pengjunlee的博客
03-05
1万+
\xa0表示不间断空白符,爬虫中遇到它的概率不可谓不小,而经常和它一同出现的还有\u3000、\u2800、\t等Unicode字符串。
单从对\xa0、\t、\u3000等含空白字符的处理来说,有以下几种方法可行:
使用re.sub
使用正则表达式可以轻松匹配所有空白字符,它对于Unicode字符也是有效的,比如:
>>>importre
>>>s...
参与评论
您还未登录,请先
登录
后发表或查看评论
java非法字符u3000,非法字符错误:'\u200b'
weixin_39576751的博客
02-16
756
I'mmakinganAsteroidFieldforanAsteroidGameinmyObjectOrientedProgrammingclassandIamreceivinganillegalcharactererror:'\u200b'.Theissueseemstobehappeningonline12.(Theline...
elcipse:提示报错:“illegalcharacter”。
cows_boy的博客
11-19
1593
问:elcipse:提示报错:“illegalcharacter”。
答:
1、编辑器会报出“illegalcharacter(非法字符)”错误信息,有可能是程序代码中的分号必须为英文状态下输入的,可能会将英文状态下的";"写成中文状态下的“;”。
...
python爬虫爬取内容时,\xa0、\u3000的含义与处理方法
thewindkee的博客
04-11
3万+
python爬虫爬取内容时,\xa0、\u3000的含义转自:https://www.cnblogs.com/BlackStorm/p/6359005.html处理方法str.replace(u'\xa0',u'')最近用scrapy爬某网站,发现拿到的内容里面含有\xa0、\u3000这样的字符,起初还以为是编码不对,搜了一下才知道是见识太少233。
\xa0是不...
学Linux的你还在为正则表达式而挠头?
m0_51141557的博客
11-03
69
linux正则表达式1正则表达式1.1字符匹配1.2匹配次数1.3位置锚定1.4分组和引用和或者2实例
介绍grep命令,正则表达式是grep命令的一种使用方法
注意正则表达式与通配符的区别
在文本过滤工具grep中,都是用正则表达式,针对的是文件内容的过滤查找
通配符经常用在文件名上,比如find、ls、mv、cp等
1正则表达式
正则表达式常用元字符
1.1字符匹配
字符
描述
.
匹配任意单个字符
.*
匹配任意长度任意字符
[]
匹配指定范围内的单个字符
[^]
python爬取内容去掉\xa0字符的最简便方法
weixin_55643951的博客
05-10
3730
刚学Python爬虫,爬取网页时,不可避免会遇到\xa0字符串,你会发现,正则re.sub(r’\xa0’,‘’)和字符串的replace都不管用。
\xa0是不间断空白符 ,自己做前端页面的时候也会经常用到这个符号。
通常我们所用的空格的ASCII码是\x20,在标准ASCII可见字符0x20~0x7e范围内。
而\xa0属于latin1(ISO/IEC_8859-1)中的扩展字符集字符,代表空白符nbsp(non-breakingspace)。
latin1字符集
python之去掉爬取内容中的\xa0字符
jiangkejkl的博客
11-15
2018
\xa0是不间断空白符 ,自己做前端页面的时候也会经常用到这个符号。
通常我们所用的空格的ASCII码是\x20,在标准ASCII可见字符0x20~0x7e范围内。
而\xa0属于latin1(ISO/IEC_8859-1)中的扩展字符集字符,代表空白符nbsp(non-breakingspace)。
latin1字符集可向下兼容ASCII(0x20~0x7e)。
爬取到的内容包含\xa0字符内容也不影响实际使用。
方法1:
爬取获取值时使用字符串的strip()方
error:illegalcharacter‘\u3000‘
skr?
09-22
493
‘\u3000’是一个中文全角空格
从其他地方粘贴过来的代码产生的。
把代码中的空格删掉换成英文的。
java非法字符u3000_IDEA编码格式问题:Error:(3,13)java:非法字符:'\u0000'
weixin_34709138的博客
03-07
2142
IDEA编码格式问题:Error:(3,13)java:非法字符:‘\u0000’打开IDEA,照常编译文件,突然就报错了Error:(1,3)java:非法字符:‘#’Error:(1,5)java:非法字符:‘\ufffd’Error:(1,6)java:非法字符:‘\u0000’Error:(2,1)java:非法字符:‘\u0001’Error:(2...
illegalcharacter:u+3000
weixin_33875839的博客
05-07
604
1.从网上粘贴的代码到idea里发现不管怎么样都有错,idea报illegalcharacter:u+3000
2.百度了一下原来是代码中有全角空格,于是用regexbuddy看了一下发现真的有好几个全角空格
3.把这些空格去掉即可
转载于:https://www.cnblogs.com/fanxl/p/9123026.h...
python中去掉字符串中的\xa0、\t、\n
热门推荐
学渣的博客
09-22
8万+
今天帮女朋友从网络上收集一些信息,但是发现提取出的信息中有“\xa0”,并且无法去掉,查阅了相关资料,后发现该字符表示空格。
\xa0是不间断空白符
我们通常所用的空格是\x20,是在标准ASCII可见字符0x20~0x7e范围内。
而\xa0属于latin1(ISO/IEC_8859-1)中的扩展字符集字符,代表空白符nbsp(non-breakingspace
IntelliJIDEA编译程序出现非法字符的解决方法
技术黑板
08-23
2985
网上有很多答案,没有特别好使的解决方法,这个问题很常见,就跟在CMD执行javac命令遇到中文时一样,只需要增加-encodingUTF8参数。
具体在IDEA中配置如下图:
在Settings中的Build下面的Compiler下。
修改JavaCompiler
在Additionalcommanlineparameters(附加参数)中添加参数-encodingUTF8即可。
...
错误:非法字符:“\ufeff” Java python
低头学习,抬头看路
12-30
4122
JAVA
IDEA导入开源的项目的时候,非法字符:“\ufeff”,编码问题,这一般这个项目是用eclipse开发的。
主要原因是:Eclipse可以自动把UTF-8+BOM文件转为普通的UTF-8文件
解决办法:UTF-8换成GBK然后再换成UTF-8就好了
方法二:
将这些报错的文件拷贝到一个目录中,然后用notpad++打开,点击工具类上的编码,将以uft8格式编码转为以utf8无BOM格式编码,然后保存,再覆盖idea中对应的文件。
方法三:
将文件用..
Python爬虫处理\xa0、\u3000、\u2002、\u2003等空格
最新发布
东隅已逝,桑榆非晚。
12-10
2389
Python爬虫正则匹配特殊特殊空格\u3000、\xa0等
python去除字符中得'\xa0'
thindi的博客
11-10
1734
有一个字符串列表,
file_size_lis=['738.7\xa0MB','746.5\xa0MB','4.4\xa0GB','2.2\xa0GB','3.6\xa0GB','3.6\xa0GB','4.7\xa0GB','6.0\xa0GB','6.0\xa0GB','1.9\xa0GB']
现在要将列表中得字符'\xa0'批量去掉,有个简易方法
...
特殊字符Unicode编码
空名先生
04-10
5638
从网上找到了部分关于特殊符号的Unicode码值,记录下来,以备后用,如下所示:
用Android的string.xml中使用Unicode表示符号的话,就使用下面的JS相关的Unicode值即可
⇠箭头类
符号
UNICODE
符号
UNICODE
HTML
JS
CSS
HTML
JS
CSS
⇠
ͣ...
对于\xa0的处理
liushaohui6323883的博客
07-23
9816
在用Python3处理英文文档时遇到split('')无法分开的空格,使用encode('utf8')编码后发现它并不是空格,而是\xa0,它其实是latin1编码字符,为了使\xa0像空格那样分开字符,可以直接调用split()即可...
python如何去掉字符串‘\xa0’
weixin_30337157的博客
01-05
272
发现问题:
最近在用爬虫爬取网页信息时,在网页源码中遇到了“ "字符串,经查阅,发现该字符是不间断空格符。
我们通常所用的空格是\x20,是在标准ASCII可见字符0x20~0x7e范围内。
而\xa0属于latin1(ISO/IEC_8859-1)中的扩展字符集字符,代表空白符nbsp(non-breakingspace)。
latin1字符集向下兼容ASCI...
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
©️2022CSDN
皮肤主题:猿与汪的秘密
设计师:我叫白小胖
返回首页
小龙在山东
CSDN认证博客专家
CSDN认证企业博客
码龄14年
暂无认证
666
原创
2593
周排名
444
总排名
243万+
访问
等级
2万+
积分
1万+
粉丝
624
获赞
303
评论
2199
收藏
私信
关注
热门文章
MySQL时间戳和时间的获取/相互转换/格式化
186706
Python日期时间datetime加一天,减一天,加减一小时一分钟,加减一年一月,时区转换
176198
JS删除DOM元素的两种方法
141017
androidx.recyclerview:recyclerview的使用
53242
设置环境变量配置的简单方法.env
47789
分类专栏
SpringBoot
4篇
Electron
3篇
C#
1篇
笔记
3篇
安全实践
113篇
正则表达式
4篇
IOS
2篇
架构
8篇
书法
2篇
JQuery
2篇
采集
17篇
NLP
5篇
PHP
31篇
Java
28篇
elasticsearch
18篇
python
189篇
mysql
31篇
前端
21篇
读书
6篇
Linux
17篇
SEO
1篇
matplotlib
2篇
windows
24篇
测试
19篇
nodejs
19篇
数据库
28篇
javascript
22篇
shell
8篇
spark
9篇
c
20篇
运维
24篇
Kafka
2篇
TensorFlow
23篇
项目管理
16篇
selenium
6篇
区块链
1篇
xpath
1篇
SSM
1篇
LaTeX
1篇
编译原理
3篇
算法
8篇
设计模式
1篇
C++
10篇
计算机视觉
16篇
Android
65篇
最新评论
FridaHook普通方法、构造方法、重载方法、构造对象参数、修改对象属性
岳晓鵬:
普通方法(公开、私有、静态)写错了
解决cron无法运行报错:FAILEDtoauthorizeuserwithPAM(Moduleisunknown)
DDDDemo:
/etc/init.d/crondrestart
Python日期时间datetime加一天,减一天,加减一小时一分钟,加减一年一月,时区转换
Oo947:
[code=python]
time=(datetime.datetime.now()-datetime.timedelta(minutes=60)).strftime("%Y/%m/%d%H:%M:%S")
[/code]
pythonelasticsearch.exceptions.ConnectionError:ConnectionError(check_hostnamerequiresserver_host
猫鱼薄荷_她:
certificate.pem这个在哪弄
Python日期时间datetime加一天,减一天,加减一小时一分钟,加减一年一月,时区转换
manmantj:
你应该是python3,print要多加一对括号
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
ETL工具大全:Kettle、DataCleaner、canal、DataX
Pandas函数应用和映射
Pandas排序和排名(四种排名方法)
2022
10月
8篇
09月
10篇
08月
11篇
07月
8篇
06月
6篇
05月
12篇
04月
9篇
03月
7篇
02月
3篇
01月
9篇
2021年122篇
2020年144篇
2019年79篇
2018年162篇
2017年110篇
2010年1篇
目录
目录
分类专栏
SpringBoot
4篇
Electron
3篇
C#
1篇
笔记
3篇
安全实践
113篇
正则表达式
4篇
IOS
2篇
架构
8篇
书法
2篇
JQuery
2篇
采集
17篇
NLP
5篇
PHP
31篇
Java
28篇
elasticsearch
18篇
python
189篇
mysql
31篇
前端
21篇
读书
6篇
Linux
17篇
SEO
1篇
matplotlib
2篇
windows
24篇
测试
19篇
nodejs
19篇
数据库
28篇
javascript
22篇
shell
8篇
spark
9篇
c
20篇
运维
24篇
Kafka
2篇
TensorFlow
23篇
项目管理
16篇
selenium
6篇
区块链
1篇
xpath
1篇
SSM
1篇
LaTeX
1篇
编译原理
3篇
算法
8篇
设计模式
1篇
C++
10篇
计算机视觉
16篇
Android
65篇
目录
评论
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
打赏作者
小龙在山东
你的鼓励将是我创作的最大动力
¥2
¥4
¥6
¥10
¥20
输入1-500的整数
余额支付
(余额:--)
扫码支付
扫码支付:¥2
获取中
扫码支付
您的余额不足,请更换扫码支付或充值
打赏作者
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
0
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。
余额充值
延伸文章資訊
- 1python去除\ufeff、\xa0、\u3000 - zqifa - 博客园
1.\ufeff 字节顺序标记. 去掉\ufeff,只需改一下编码就行,把UTF-8编码改成UTF-8-sig with open(file_path, mode='r', encoding='...
- 2python3: how to convert "\u3000" (ideographic space) to " "?
txt', 'r', encoding='utf-8') as f: old = [line.strip() for line in f.readlines()] send_mail(from,...
- 3Utf 8 \u3000-2021-04-10 | 輕鬆健身去| 萌寵公園-2022年9月
Utf 8 \u3000相關資訊,Unicode Character 'IDEOGRAPHIC SPACE' (U+3000) ... 首頁\ufeffUtf8\u3000 Utf8\u3000...
- 4Unicode Character 'IDEOGRAPHIC SPACE' (U+3000)
UTF-8 (hex), 0xE3 0x80 0x80 (e38080). UTF-8 (binary), 11100011:10000000:10000000. UTF-16 (hex), 0...
- 5解决\xa0 、 \u3000导致的编码问题_小龙在山东的博客
解决\xa0 、 \u3000导致的编码问题_小龙在山东的博客-程序员宅基地 · codecs读文件 · codecs从UTF-8转换为GBK格式 · 使用编码器 · 为什么从unicode 转...