在Python中检查有效的utf8字符串

tro*_*oex 9 python json invalid-characters utf-8

我正在从文件系统中读取文件名,我想将它们作为JSON编码数组发送.问题是文件系统上的文件可以存储在无效的编码中,我需要处理这种情况,在传递之前省略无效的文件名json.dump,否则会失败.

有没有办法检查我的字符串(文件名)是否包含有效的utf-8字符?

Mar*_*air 17

尝试以下怎么样?

valid_utf8 = True
try:
    filename.decode('utf-8')
except UnicodeDecodeError:
    valid_utf8 = False
Run Code Online (Sandbox Code Playgroud)

...基于这里对类似问题的回答:如何在python中编写一个检查以查看文件是否有效UTF-8?