Por que o JSON codifica pares substitutos UTF-16 em vez de pontos de código Unicode diretamente?
Para escapar de um ponto de código que não está no plano multilíngue básico, o caractere é representado como uma sequência de doze caracteres, codificando o par substituto UTF-16. Assim, por exemplo, uma sequência contendo apenas o caractere da clave G (U + 1D11E) pode ser representada como"\uD834\uDD1E"
.
ECMA-404:O formato de intercâmbio de dados JSON
eu acreditonão é necessário codificar esse caractere, para que pudesse ser representado diretamente como""
. No entanto, se alguém desejar codificá-lo, ele deve, por especificação, ser codificado como"\uD834\uDD1E"
, não (como parece razoável) como"\u1d11e"
. Por que é isso?