奇怪的行为`json.dumps文件`对于\u0000 ch

2024-09-26 17:58:07 发布

您现在位置:Python中文网/ 问答频道 /正文

{3{I>在字符串{3>中,特别是在cd3>中使用双引号。我得到的是:

print(json.dumps("\u0000", ensure_ascii=False))
"\u0000"

只是为了避免任何与我的终端有关的歧义

^{pr2}$

即引号(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有什么特别的吗?在


Tags: 字符串jsonfalse终端ascii引号printdumps
1条回答
网友
1楼 · 发布于 2024-09-26 17:58:07

根据ECMA-404,以下字符必须在JSON字符串中转义(第9节):

quotation mark (U+0022), reverse solidus (U+005C), and the control characters U+0000 to U+001F.

有一些短的转义序列,如\n\\,但是对于空字符没有。该标准明确指出,您需要一个六个字符的序列来表示这样一个字符。在

相关问题 更多 >

    热门问题