tl;dr Nee, ze zijn niet geldig, wat de codering ook is, het is foutief of er is verkeerde coderingsinformatie over de invoer verteld.
55357 en 56842 zijn respectievelijk 0xD83D en 0xDE0A in hex.
In Unicode bevinden ze zich in bereiken die respectievelijk "High Surrogate" en "Low Surrogate" worden genoemd.
Dat betekent dat ze niet . zijn juiste Unicode-codepunten, maar eerder gebruikt in UTF-16 om een enkele Unicode-waarde te construeren die niet in 16 bit past (d.w.z. het Basic Multilingual Plane).
Deze twee specifieke waarden worden gedecodeerd tot U+1F60A GLIMLACHEND GEZICHT MET GLIMLACHENDE OGEN . De juiste decimale HTML-entiteit daarvoor is 😊
.
De meest waarschijnlijke reden hiervoor is dat een transformatie die ofwel niets weet over UTF-16 of dacht deze tekst is geen UTF-16 die de codering heeft uitgevoerd (maar had moeten detecteren dat die waarden ongeldig zijn en zelfs in dat geval een fout melden).