簡體   English   中英

json 或 python 中的 yaml 文件中的編碼有意義嗎?

[英]Does the encoding make sense in json or yaml files in python?

我試圖將這本詞典保存在 json 或 yaml 文件中:

d = {'name': 'María Gómez', 'message': '¡Es una caña atómica!'}
with open(file, 'wt', encoding='iso8859-1') as file:
   json.dump(d, file)

但是,文件內容不在該編碼中,非 ascii 字符在 json 或 yaml 文件中轉義。 因此,我認為編碼文件沒有意義。 或者是否有一些語言或字符的編碼對這種類型的文件有意義?

import json
d = {'name': 'María Gómez', 'message': '¡Es una caña atómica!'}
json.dumps(d)
# '{"name": "Mar\\u00eda G\\u00f3mez", "message": "\\u00a1Es una ca\\u00f1a at\\u00f3mica!"}'
json.dumps(d, ensure_ascii=False)
# '{"name": "María Gómez", "message": "¡Es una caña atómica!"}'

說明(適用於json.dumps以及json.dump ): JSON 編碼器和解碼器基本用法

如果ensure_ascii為 true(默認值),則保證 output 對所有傳入的非 ASCII 字符進行轉義。 如果ensure_ascii為假,這些字符將按原樣為 output。

也閱讀字符編碼

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM