不要重新发明轮子我引用现有的Cyrillic characters in PHP's json_encode。
问题是:这些角色是什么,它们是什么意思:\ u0435,\ u0434等等?我猜这与字节数没有关系,只是UTF-8中的序列号分别对应于西里尔符号“е”,“д”等等?
答案 0 :(得分:3)
这些是Unicode转义序列,它通过以十六进制表示其代码点来引用Unicode字符集中的字符。
任何角色都可能被转义。如果角色在基本 多语言平面(U + 0000到U + FFFF),然后它可能是 表示为六个字符的序列:反向固相,然后 用小写字母
u
,后跟四个十六进制数字 编码角色的代码点。但是十六进制字母A
F
可以是大写或小写。所以,例如,一个包含的字符串 只有一个反向固相字符可以表示为 “\u005C
”。
虽然这些字符不需要转义(请参阅unescaped rule),但json_encode
会对除US-ASCII(请参阅source of json.c)之外的任何字符进行编码以避免基于US-ASCII的协议编码问题。
因此,在JSON字符串中,\u0435
引用U + 0435处的字符,即CYRILLIC SMALL LETTER IE(е
),\u0434
引用U + 0434处的字符,即CYRILLIC SMALL LETTER DE(д
)。