ファイル システムからファイル名を読み取っていて、JSON エンコードされた配列として送信したいと考えています。問題は、ファイル システム上のファイルが無効なエンコーディングで格納される可能性があることです。この状況を処理して、無効なファイル名を に渡す前に除外する必要がありますjson.dump
。そうしないと失敗します。
文字列 (ファイル名) に有効な utf-8 文字が含まれていることを確認する方法はありますか?
ファイル システムからファイル名を読み取っていて、JSON エンコードされた配列として送信したいと考えています。問題は、ファイル システム上のファイルが無効なエンコーディングで格納される可能性があることです。この状況を処理して、無効なファイル名を に渡す前に除外する必要がありますjson.dump
。そうしないと失敗します。
文字列 (ファイル名) に有効な utf-8 文字が含まれていることを確認する方法はありますか?
以下を試してみてはいかがでしょうか。
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?