Python json.dumps() 没有正确编码表情符号
Python json.dumps() doesn't encode emojis properly
为什么 json.dumps() 将表情符号编码为 unicode?请参阅下面的代码和输出:
import json
obj = {"key": "hello "}
print(obj)
{'key': 'hello '}
print(json.dumps(obj))
'{"key": "hello \ud83d\ude00"}'
我已经尝试了 print(json.dumps(obj)).encode('utf-8')
和一些变体(.decode()
...),但它并没有改变输出。我正在开发 Python 3.6.1
print(json.dumps(obj, ensure_ascii=False))
但是,ASCII 变体更便于携带,因为几乎可以保证您不会遇到编码问题。 Docs
为什么 json.dumps() 将表情符号编码为 unicode?请参阅下面的代码和输出:
import json
obj = {"key": "hello "}
print(obj)
{'key': 'hello '}
print(json.dumps(obj))
'{"key": "hello \ud83d\ude00"}'
我已经尝试了 print(json.dumps(obj)).encode('utf-8')
和一些变体(.decode()
...),但它并没有改变输出。我正在开发 Python 3.6.1
print(json.dumps(obj, ensure_ascii=False))
但是,ASCII 变体更便于携带,因为几乎可以保证您不会遇到编码问题。 Docs