gpt4 book ai didi

带有西里尔字符的php json_encode

转载 作者:行者123 更新时间:2023-12-04 06:21:37 27 4
gpt4 key购买 nike

不要重新发明轮子,我指的是已经存在的 Cyrillic characters in PHP's json_encode .

问题是:这些字符是什么,它们是什么意思:\u0435、\u0434 等等?我想这与字节数无关,仅仅是 UTF-8 中的一个序列号,分别对应于西里尔符号“е”、“д”等吗?

最佳答案

这些是 Unicode 转义序列,通过以十六进制表示它们的代码点来引用 Unicode 字符集中的字符。
来自 JSON specification :

Any character may be escaped. If the character is in the BasicMultilingual Plane (U+0000 through U+FFFF), then it may berepresented as a six-character sequence: a reverse solidus, followedby the lowercase letter u, followed by four hexadecimal digits thatencode the character's code point. The hexadecimal letters A thoughF can be upper or lowercase. So, for example, a string containingonly a single reverse solidus character may be represented as"\u005C".


虽然这些字符不需要转义(参见 unescaped rule ),但 json_encode 确实对除了那些也在 US-ASCII 中的字符(参见 source of json.c )之外的任何字符进行编码,以避免基于 US-ASCII 的协议(protocol)的编码问题。
所以在 JSON 字符串中, \u0435引用 U+0435 处的字符,即西里尔小写字母 IE ( е ) 和 \u0434引用 U+0434 处的字符,即西里尔小写字母 DE ( д)。

关于带有西里尔字符的php json_encode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6483484/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com