特殊的字符编码:
\xef\xbb\xbf Unicode字符的BOM(字节顺序标记)
解决方法:
一:以字节的形式读取文件 :
with open(file_path, mode='rb') as f:
s_byte = f.read()
二.将字节中的特殊字符替换掉:
s_byte.replace(b'\xef\xbb\xbf', b'')
零宽字符:
\u200b 零宽度空格符(zws)
\ufeff 零宽度非断空格符(ZWNBS)
\u200d 零宽度连字符(ZWJ)
\u200c 零宽度断字符(ZWNJ)
\u200e 左至右符(LTRM)
\u200f 左至右符(RTLM)
\xa0 不间断空白符(NBSP)
\u3000 全角的空白符(IS)
解决方法:
一:读取文件时,将编码方式更改为 UTF-8-sig :
with open(file_path, mode='r', encoding='UTF-8-sig') as f:
s = f.read()
二.字符串中的零宽字符串,我这里使用了替换,也可以使用正则替换:
str.replace(u'\\ufeff', "")