问题
I'm reading filenames from file system and I want to send them as JSON encoded array. The problem is that files on file system can be stored in invalid encoding, and I need to handle this situation to omit invalid filenames before passing it to json.dump
, otherwise it will fail.
Is there a way to check that my string (filename) contains valid utf-8 chars?
回答1:
How about trying the following?
valid_utf8 = True
try:
filename.decode('utf-8')
except UnicodeDecodeError:
valid_utf8 = False
... based on an answer to a similar question here: How to write a check in python to see if file is valid UTF-8?
来源:https://stackoverflow.com/questions/5259135/check-for-valid-utf8-string-in-python