python将未知字符转换为ascii

在我正在处理的文本文件中,我有像 这样的字符.不确定它们是什么.

我想知道如何删除/转换这些字符.

我试图通过使用.encode(‘ascii’,’ignore’)将其转换为ascii. python告诉我char不是0,128

我也尝试过unicodedata,unicodedata.normalize(‘NFKD’,text).encode(‘ascii’,’ignore’),同样的错误

有人帮吗?

谢谢!

最佳答案 您始终可以使用您显示的代码来使用Unicode字符串:

my_ascii = my_uni_string.encode('ascii', 'ignore')

如果这给你一个错误,那么你真的没有一个Unicode字符串开始.如果这是真的,那么你有一个字节串.您需要知道它使用的编码,您可以将其转换为Unicode字符串:

my_uni_string = my_byte_string.decode('utf8')

(假设您的编码是UTF-8).

字节字符串和Unicode字符串之间的这种分割可能会令人困惑.我的演讲,Pragmatic Unicode, or, How Do I Stop The Pain可以帮助你保持一切.

点赞