Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

конвертирование массива байтов из UTF-16 и UCS2 в стринг

9.9K
12 января 2010 года
maxxi
35 / / 20.06.2007
здравствуйте!
У меня вопорос -
Есть например массив байтов, например 0xD728 0xD3A5 0x0000 ...............


(Нужно преобразовать его в стринг-переменную, которая в UTF-16 ,или , например в UCS-2. При правильном преобразовании должна получиться строка с китайскими символами, если кому интересно).


Есть ли в яве какая-то стандартная функция для этого дела?как например для преобразовании в строку из массива в UTF-8:
 
Код:
String str = new String(buffer1, "UTF-8");


??
Cпасибо
1.6K
12 января 2010 года
Shtirlitz
145 / / 31.07.2006
Не совсем понятно, Ваш массив изначально представляет собой какую кодировку? Если он уже в utf-8 то все как Вы и написали, в противном случае, Java распознать кодировку массива не сможет, но можно поступить так:
 
Код:
byte[] b = ...;
...
String buffer = new String(b,"Кодировка массива");
b = buffer.getBytes("Нужная Вам кодировка");
String result = new String(b,"Нужная Вам кодировка");
9.9K
12 января 2010 года
maxxi
35 / / 20.06.2007
у меня массив, например такой



 
Код:
byte[] test = new byte[] {(byte)0xD728, (byte)0xD3A5, (byte)0x0000 };

из массива нужно получить вот это - 휨 펥. Вместо них у меня вопросы ?? распознаются
0x0000 -cимвол конца строки
1.6K
12 января 2010 года
Shtirlitz
145 / / 31.07.2006
То что я написал не работает? К чему Вы сейчас написали?
9.9K
12 января 2010 года
maxxi
35 / / 20.06.2007
То, что Вы написали, выдаёт вопросы
5
13 января 2010 года
hardcase
4.5K / / 09.08.2005
Цитата: maxxi

 
Код:
byte[] test = new byte[] {(byte)0xD728, (byte)0xD3A5, (byte)0x0000 };


А я вот всегда считал что стандартный 8-битный байт записывается двумя 16-ричными числами, типа 0x28, 0xD7, 0xA5, 0xD3 и т.д.

502
13 января 2010 года
Jail
550 / / 30.01.2007
Здается мне, что автор не понимает сам, что желает получить в итоге.
автор, это Java, это не ассемблер и не Си.
Если хочется получить какие-то иероглифы, то это называется локализация. А точнее internationalization.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог