Python 3でUTF-8テキストを\uエスケープシーケンスではなくUTF-8としてjson.dumpsで保存する

PYTHON3 チュートリアル

Python 3でUTF-8テキストをUTF-8としてjson.dumpsで保存する方法

Python 3のjsonモジュールを使用してUTF-8エンコードされたテキストを\uエスケープシーケンスではなくUTF-8として保存する方法について説明します。JSON形式のデータを処理する際に、UTF-8エンコードされたテキストをそのまま保持したい場合に役立ちます。

関連する知識

Pythonのjson.dumps()関数は、デフォルトでASCIIエンコードを使用して文字列をエンコードします。しかし、ensure_ascii=Falseと指定することで、UTF-8エンコードを有効にすることができます。

明確な例

import json

data = {"message": "こんにちは、世界!"}
json_data = json.dumps(data, ensure_ascii=False)

print(json_data)

この例では、data内の日本語のメッセージがUTF-8としてエンコードされ、\uエスケープシーケンスではなくそのまま表示されます。

結果

{"message": "こんにちは、世界!"}

別の例

以下に、リスト内に日本語文字列を含むデータをUTF-8として保存する例を示します。

import json

data = {"messages": ["おはよう", "こんにちは", "こんばんは"]}
json_data = json.dumps(data, ensure_ascii=False)

print(json_data)

結果

{"messages": ["おはよう", "こんにちは", "こんばんは"]}

このように、ensure_ascii=Falseを指定することで、UTF-8エンコードされたテキストをJSON形式でそのまま保存することができます。

Python 3では、UTF-8エンコーディングを使用してテキストを処理する際に、\uエスケープシーケンスではなくUTF-8として保存する方法があります。これを実現するためには、json.dumps()メソッドを使用します。

通常、Pythonでは文字列をJSON形式に変換する際に、特殊文字や非ASCII文字を\uエスケープシーケンスで表現します。しかし、UTF-8エンコーディングを使用している場合、これらの文字をそのままUTF-8として保存したい場合があります。

json.dumps()メソッドを使用すると、デフォルトではASCIIエンコーディングが適用され、非ASCII文字は\uエスケープシーケンスでエンコードされます。しかし、ensure_ascii=Falseを指定することで、UTF-8として保存することが可能です。

例えば、以下のようにjson.dumps()メソッドを使用して、UTF-8エンコーディングでテキストを保存することができます。

import json

data = {“key”: “日本語のテキスト”}

# UTF-8として保存
json_data = json.dumps(data, ensure_ascii=False)

print(json_data)

購読
通知
0 Comments
Inline Feedbacks
View all comments