ascii中的空格,编码是 32, 040 或者 x20。
在UTF-8编码里面存在一个特殊的字符,其编码是“0xC2 0xA0”,转换成字符的时候表现为一个半角空格,跟一般的半角空格(ASCII 0x20)不同的是它的宽度不会被压缩,所以排版中常能用到它。但是GB2312、Unicode之类并没有这样的字符
http://www.utf8-chartable.de/unicode-utf8-table.pl?utf8=dec
NO-BREAK SPACE
可以通过od命名查看
[root@172.18.4.100 fupeng]# od -t x1 bad
0000000 c2 a0 0a
1
2
这种空格有危害, 会让SQL报错 ,也会使得Python程序无法执行。
删除这样的空格可以使用tr命令
[root@172.18.4.100 fupeng]# tr -d "\302\240" < bad > good
1
替换这样的空格可以使用
cat bad| tr "\302\240" " "
1
或者
cat a.py | tr -d "\302"| tr "\240" " " > c.py
1
如果还有中文,就糟糕了 ,中文会乱码。
http://www.cnblogs.com/mingmingruyuedlut/archive/2012/07/04/2575180.html
————————————————
版权声明:本文为CSDN博主「kunpengku」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u012063703/java/article/details/50561160
网友评论