检查Python中的有效UTF-8字符串
我正在从文件系统中读取文件名,并想把它们作为JSON格式的数组发送出去。问题是,文件系统中的文件可能会以无效的编码存储,我需要处理这种情况,先把无效的文件名去掉,然后再传给json.dump
,否则会出错。
有没有办法检查我的字符串(文件名)是否包含有效的UTF-8字符呢?
1 个回答
19
你可以试试下面这个方法:
valid_utf8 = True
try:
filename.decode('utf-8')
except UnicodeDecodeError:
valid_utf8 = False
... 这个方法是参考了这里一个类似问题的回答:如何在Python中检查文件是否是有效的UTF-8格式?