UCS2 und UTF-16 sind grundsätzlich verscheiden !
UCS2 ist ein fixer 2-Byte-Code.
UTF-16 ist ein variabler 1-2-Byte-Code.

@KM
Ich denke auch Java wird irgendwo einen String-Converter haben um aus Byte-Arrays einen String bzw. umgekehrt zu machen (Dieter Bender kennt das vielleicht).