Когда я выполняю json.dumps("\u0000", ensure_ascii=False)
в python3, я ожидаю, что вывод будет строкой из 3 символов, в частности, представление символа \u0000
будет заключено в двойные кавычки.Вот что я получаю вместо этого:
print(json.dumps("\u0000", ensure_ascii=False))
"\u0000"
Просто чтобы избежать двусмысленности, связанной с моим терминалом
len(json.dumps("\u0000", ensure_ascii=False))
8
Что такое кавычки (2) + 4 нуля и \ u (2) =8 символов.
Это кажется несовместимым с обработкой других символов UTF8:
print(json.dumps("\u4e2d", ensure_ascii=False))
"中"
len(json.dumps("\u4e2d", ensure_ascii=False))
3
Я использую:
$ python3 -V
Python 3.7.1
Есть ли что-то особенное в \u0000