Python 非 ascii 字符的字符串/字节编码
Python string / bytes encoding with non ascii characters
我需要编写一个非常简单的函数来读取 json 文件并将一些内容写回 csv 文件。
问题是输入的 json 文件有奇怪的编码格式,例如:
{
"content": "b\"Comment minimiser l'impact environnemental d\xe8s la R&D des proc\xe9d\xe9s micro\xe9lectroniques."
}
我要回信
Comment minimiser l'impact environnemental dès la R&D des procédés microélectroniques.
第一个问题是 'b' 所以内容应该作为字节数组读取,但它被读取为字符串。
第二个是如何替换奇怪的字符?
谢谢
你可以使用这样的东西:
json_file_path = 'your_json_file.json'
with open(json_file_path, 'r', encoding='utf-8') as j:
# Remove problematic "b\ character
j = j.read().replace('\"b\',"");
# Process json
contents = json.loads(j)
# Decode string to process correctly double backslashes
output = contents['content'].encode('utf-8').decode('unicode_escape')
print(output)
# Output
# Comment minimiser l'impact environnemental dès la R&D des procédés microélectroniques.
我需要编写一个非常简单的函数来读取 json 文件并将一些内容写回 csv 文件。 问题是输入的 json 文件有奇怪的编码格式,例如:
{
"content": "b\"Comment minimiser l'impact environnemental d\xe8s la R&D des proc\xe9d\xe9s micro\xe9lectroniques."
}
我要回信
Comment minimiser l'impact environnemental dès la R&D des procédés microélectroniques.
第一个问题是 'b' 所以内容应该作为字节数组读取,但它被读取为字符串。 第二个是如何替换奇怪的字符? 谢谢
你可以使用这样的东西:
json_file_path = 'your_json_file.json'
with open(json_file_path, 'r', encoding='utf-8') as j:
# Remove problematic "b\ character
j = j.read().replace('\"b\',"");
# Process json
contents = json.loads(j)
# Decode string to process correctly double backslashes
output = contents['content'].encode('utf-8').decode('unicode_escape')
print(output)
# Output
# Comment minimiser l'impact environnemental dès la R&D des procédés microélectroniques.