tl; dr いいえ、それらは有効ではありません。エンコードにバグがあるか、入力に関する間違ったエンコード情報が通知された場合はどうでしょうか。
55357と56842は、それぞれ16進数で0xD83Dと0xDE0Aです。
Unicodeでは、それぞれ「高サロゲート」および「低サロゲート」と呼ばれる範囲にあります。
つまり、ないということです。 適切なUnicodeコードポイントですが、UTF-16で使用され、16ビットに収まらない単一のUnicode値(つまり、基本多言語面)を構築します。
これらの2つの特定の値は、 U + 1F60A SMILING FACE WITH SMILINGEYES<にデコードされます。 / a> 。そのための正しい10進数のHTMLエンティティは😊
になります 。
これの最も可能性の高い理由は、UTF-16について知らないか考えた このテキストはUTF-16ではエンコードされていません(ただし、これらの値が無効であることを検出し、その場合でもエラーを報告する必要があります)。