конвертирование массива байтов из UTF-16 и UCS2 в стринг
У меня вопорос -
Есть например массив байтов, например 0xD728 0xD3A5 0x0000 ...............
(Нужно преобразовать его в стринг-переменную, которая в UTF-16 ,или , например в UCS-2. При правильном преобразовании должна получиться строка с китайскими символами, если кому интересно).
Есть ли в яве какая-то стандартная функция для этого дела?как например для преобразовании в строку из массива в UTF-8:
Код:
String str = new String(buffer1, "UTF-8");
??
Cпасибо
Код:
byte[] b = ...;
...
String buffer = new String(b,"Кодировка массива");
b = buffer.getBytes("Нужная Вам кодировка");
String result = new String(b,"Нужная Вам кодировка");
...
String buffer = new String(b,"Кодировка массива");
b = buffer.getBytes("Нужная Вам кодировка");
String result = new String(b,"Нужная Вам кодировка");
Код:
byte[] test = new byte[] {(byte)0xD728, (byte)0xD3A5, (byte)0x0000 };
из массива нужно получить вот это - 휨 펥. Вместо них у меня вопросы ?? распознаются
0x0000 -cимвол конца строки
То что я написал не работает? К чему Вы сейчас написали?
То, что Вы написали, выдаёт вопросы
Цитата: maxxi
Код:
byte[] test = new byte[] {(byte)0xD728, (byte)0xD3A5, (byte)0x0000 };
А я вот всегда считал что стандартный 8-битный байт записывается двумя 16-ричными числами, типа 0x28, 0xD7, 0xA5, 0xD3 и т.д.
автор, это Java, это не ассемблер и не Си.
Если хочется получить какие-то иероглифы, то это называется локализация. А точнее internationalization.