我正在从文件系统中读取文件名,我想将它们作为JSON编码数组发送。问题是文件系统上的文件可以存储在无效的编码中,我需要处理这种情况,在将文件名传递给json.dump
之前省略无效的文件名,否则会失败。
有没有办法检查我的字符串(文件名)是否包含有效的utf-8字符?
答案 0 :(得分:17)
尝试以下操作怎么样?
valid_utf8 = True
try:
filename.decode('utf-8')
except UnicodeDecodeError:
valid_utf8 = False
...基于对类似问题的回答:How to write a check in python to see if file is valid UTF-8?