Real UNICODE back to string

I'm looking for proper NLS_LANG settings if I've a real UNICODE delimited string (Hex code points) , containing also multibyte characters and using a small java program which converts them back to local.

i.e: '0056;0065;006E;0064;006F;0072;0020;0054;0065;0078;0074;003A;5355;8EAB;6D4B;8BD5;4E2D;6587;5B57;7B26;FF0C;9884;795D;5927;8FD0;4F1A;987A;5229;53EC;5F00;'

I've tried:

export NLS_LANG=Japanese_Japan.UTF8
export NLS_LANG=American_America.UTF8

None works for the multibyte characters, as it points to UTF8 but not real Unicode.
In UTF8 the multibyte chars are expected to start also with '00..'.
Somehow i do not get the Hex code points handled and it always expect UTF8 code units.

First off - UTF-8 supports from 1 - 4 bytes in a multibyte locale.

To set unicode correctly check out:
A Quick Primer On Unicode and Software Internationalization Under Linux and UNIX

Seems the issue we have is that our java getBytes() does not return Hexadecimal code points and always uses UTF8 code units on our Solaris box.