Почему JSON непосредственно кодирует суррогатные пары UTF-16 вместо кодовых точек Unicode?
Чтобы избежать кодовой точки, которой нет в базовой многоязычной плоскости, символ представляется в виде последовательности из двенадцати символов, кодирующей суррогатную пару UTF-16. Так, например, строка, содержащая только символ G clef (U + 1D11E), может быть представлена как"\uD834\uDD1E"
.
ECMA-404:Формат обмена данными JSON
я полагаю, чтонет необходимости кодировать этот символ вообщетак что это может быть представлено непосредственно как""
, Однако, если кто-то захочет закодировать его, он должен, согласно спецификации, быть закодирован как"\uD834\uDD1E"
, а не (как кажется разумным) как"\u1d11e"
, Почему это?