Die umgekehrte Richtung geht nicht (UTF-16 nach UCS-2 konvertieren).
Soweit richtig. Aber ein UTF-16-Parser würde in UCS-2 Code-Units finden die als Surrogates interpretiert werden (die keine sein sollen) und dann hängt es vom Parser ab, was er damit macht. Das Prolem taucht zum Beispiel dann auf, wenn man UTF-16 Code-Units direkt mit UTF-8 codiert ohne es vorher in
Unicode zu konvertieren - für dieses Problem wurde
CESU-8 definiert
edit: Auch bei
UCS-2 sind U-D800 bis U-DFFF nicht erlaubt... was mich wieder die Frage stellen lässt, welche Zeichen denn nicht funktionieren. Aber wahrscheinlich hat sich die Frage durch die Verwendung von UTF-16 ohnehin erledigt