Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Charset.forName("UTF-8").encode(message) 
V
    Опции темы
Platon
Дата 27.1.2008, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1801
Регистрация: 25.4.2006

Репутация: 16
Всего: 40



Здравствуйте, уважаемые.


Столкнулся со странной проблемой. Хочу закодировать строку в массив байтов в формате UTF-8
делаю для этого 
Код

Charset.forName("UTF-8").encode(message).array();


появляются нули в конце строки...

попробовал флипить:

Код

ByteBuffer b = Charset.forName("UTF-8").encode(message);
b.flip();
b.array();


без толку. нули остаются...
PM MAIL ICQ   Вверх
Ulysses4j
Дата 28.1.2008, 00:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 304
Регистрация: 6.6.2007
Где: Ростов-на-Дону

Репутация: 2
Всего: 10



Буферы в NIO (java.nio.Buffer с наследниками, коим является ByteBuffer, возвращаемый методом encode()) обладают тремя основными свойствами: capacity — весь-весь буфер (размер), limit — позиция, на которой заканчивается осмысленная информация в буфере, position — «текущая» позиция. array() возвращает весь-весь буфер — от него нужно отщипнуть все до последней осмысленной позиции. Чем мы щипаем массивы примитивов? Правильно, java.util.Arrays.
Код

        ByteBuffer bb = Charset.forName("UTF-8").encode(message);
        byte[] msgBytes = Arrays.copyOf(bb.array(), bb.limit());


Это сообщение отредактировал(а) Ulysses4j - 28.1.2008, 12:11


--------------------
Communication is critical to the job of a programmer.
C. Jazdzewski. Fatherly Advice To New Programmers
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0393 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.