不可见的unicode字符

项目中执行到代码如:

x = x.encode(encoding)

报错:'latin-1' codec can't encode character u'\u202d' in position 0: ordinal not in range(256)。

可见是编码问题。报错信息显示这个x字符串中含有异常的字符u'\u202d',奇怪的是这个x对应到我代码中只是一个简短的数字而已,此处为mem后的数字98304,并没有u'\u202d'字符,奇怪了... 

mem: 98304

于是查了下原来u'\u202d'是unicode不可见字符。除了这个'\u200b',还有两个不可见的字符:'\u200c'和'\u200b'。

在Linux终端中”/u200b”为不可见字符。为了显示出内容中加入的不可见字符,可将内容保存到文本中,利用less命令打开文本。或者使用vim打开文件,也可显示出不可见字符。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章