internal static char UnicodeToUTF16(UInt32 code) { byte lowerByte, higherByte; lowerByte = (byte) (0xD7C0 + (code >> 10)); higherByte = (byte) (0xDC00 | code & 0x3ff); return ((char) ((higherByte << 8) | lowerByte)); }