Kodowanie JSON w UTF-16 lub UTF-32

TheJSON RFC, sekcja 2.5, mówi po części:

Aby uciec przed rozszerzonym znakiem, którego nie ma w podstawowej wielojęzycznej płaszczyźnie, znak jest reprezentowany jako sekwencja dwunastoznakowa, kodująca zastępczą parę UTF-16. Tak więc na przykład ciąg zawierający tylko znak G klucza (U + 1D11E) może być reprezentowany jako „uD834 uDD1E”.

Załóżmy, że mam ważny powód, aby kodować JSON jako UTF-16BE (co jest dozwolone). Czy nadal jest konieczne unikanie znaków, które nie znajdują się w Basic Multilingual Plane? Np. Zamiast tego:

00 5C 00 75 00 44 00 38 00 33 00 34 00 5C 00 75 00 44 00 44 00 31 00 45
  \     u     D     8     3     4     \     u     D     D     1     E

która jest 24-bajtową sekwencją bajtów UTF-16BE dla\uD834\uDD1E, czy to legalne:

D8 34 DD 1E

tj. bezpośrednio używać 4-bajtowych wartości UTF-16BE?

Podobnie, gdybym miał zakodować ten sam ciąg JSON co UTF-32BE, czy mógłbym po prostu użyć wartości punktu kodowego bezpośrednio:

00 01 D1 1E

?

questionAnswers(1)

yourAnswerToTheQuestion