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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> String -> byte[], преобразование строки в массив 
:(
    Опции темы
TyVik
Дата 6.11.2005, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 1.10.2005

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



st = bodyText.getString();
try{
b = st.getBytes("CP1251");
} catch(IOException io){}
надо преобразовать текст (строку) в массив байт. Такая конструкция всегда выдаёт ошибку smile
Может, аргумент не тот? Какие сюда можно ставить?

PM MAIL   Вверх
batigoal
Дата 6.11.2005, 20:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 1
Всего: 151



Ошибку компиляции или выполнения?

Поддерживается ли кодировка с таким именем - "CP1251"? Не знаю, зависит ли она от регистра, но, может, попробовать "cp1251"?
Добавлено @ 20:44
Цитата(TyVik @ 6.11.2005, 21:30)
Может, аргумент не тот? Какие сюда можно ставить?

Вроде тот, судя по документации. Правда, я смотрю доку по J2SE.

Цитата
public byte[] getBytes(String charsetName)
                throws UnsupportedEncodingException

    Encodes this String into a sequence of bytes using the named charset, storing the result into a new byte array.



--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
TyVik
Дата 6.11.2005, 22:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 1.10.2005

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



эх, решил переделать - поставил, что б UTF-строку передавал. Работает smile))
Но TheBat! этой кодировки явно не знает :/
PM MAIL   Вверх
javastic
Дата 7.11.2005, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1214
Регистрация: 18.3.2005
Где: St.Petersburg

Репутация: 19
Всего: 27



UTF-8 не понимает? smile


--------------------
01101010 01100001 01110110 01100001 01110011 01110100 01101001 01100011
scjp, mcp 
PM MAIL WWW ICQ   Вверх
TyVik
Дата 7.11.2005, 15:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 1.10.2005

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



Угу...
Закорючками показывает русский текст, а с латиницей всё пучком! ;)
PM MAIL   Вверх
KostenkoSergey
Дата 7.11.2005, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 290
Регистрация: 31.10.2005
Где: Kiev

Репутация: нет
Всего: 8



Код

        switch (symbol){
          case 'а' : s.append("\u0100");/*а*/;break;
          case 'б' : s.append("\u0101");/*б*/;break;
          case 'в' : s.append("\u0102");/*в*/;break;
          case 'г' : s.append("\u0103");/*г*/;break;
          case 'д' : s.append("\u0104");/*д*/;break;
          case 'е' : s.append("\u0105");/*е*/;break;
          case 'ё' : s.append("\u0105");/*е*/;break;
          case 'ж' : s.append("\u0106");/*ж*/;break;
          case 'з' : s.append("\u0107");/*з*/;break;
          case 'и' : s.append("\u0108");/*и*/;break;
          case 'й' : s.append("\u0109");/*й*/;break;
          case 'к' : s.append("\u010a");/*к*/;break;
          case 'л' : s.append("\u010b");/*л*/;break;
          case 'м' : s.append("\u010c");/*м*/;break;
          case 'н' : s.append("\u010d");/*н*/;break;
          case 'о' : s.append("\u010e");/*о*/;break;
          case 'п' : s.append("\u010f");/*п*/;break;
          case 'р' : s.append("\u0110");/*р*/;break;
          case 'с' : s.append("\u0111");/*c*/;break;
          case 'т' : s.append("\u0112");/*т*/;break;
          case 'у' : s.append("\u0113");/*у*/;break;
          case 'ф' : s.append("\u0114");/*ф*/;break;
          case 'х' : s.append("\u0115");/*х*/;break;
          case 'ц' : s.append("\u0116");/*ц*/;break;
          case 'ч' : s.append("\u0117");/*ч*/;break;
          case 'ш' : s.append("\u0118");/*ш*/;break;
          case 'щ' : s.append("\u0119");/*щ*/;break;
          case 'ъ' : s.append("\u011a");/*ъ*/;break;
          case 'ы' : s.append("\u011b");/*ы*/;break;
          case 'ь' : s.append("\u011c");/*ь*/;break;
          case 'э' : s.append("\u011d");/*э*/;break;
          case 'ю' : s.append("\u011e");/*ю*/;break;
          case 'я' : s.append("\u011f");/*я*/;break;
          default : s.append(symbol);
        }

попробуй выполнить такой код и простым методом getBytes() получить массив байт
... в случае с дос кодировкой должно работать...
я эти ютф символы использовал когда клиент ютф не поддерживал, а мне через соап надо было русские символы пропихнуть...
правда размер письма в два раза увеличится, потому как один байт будет лишним, но он клиентом надеюсь у тебя будет игнориться ....
потому как для однобайтовых кодировок важен толи первый, толи последний байт ...

ЗЫ а что БАТ серьёзно ютф не тянет ?

Это сообщение отредактировал(а) KostenkoSergey - 7.11.2005, 17:47
PM ICQ   Вверх
TyVik
Дата 8.11.2005, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 1.10.2005

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



ЛОЛ smile)))
Смеялся долго - рульная задумка smile)))
З.Ы. а хз, может вампир просто не настроен...
PM MAIL   Вверх
KostenkoSergey
Дата 8.11.2005, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 290
Регистрация: 31.10.2005
Где: Kiev

Репутация: нет
Всего: 8



а чё смешного ?
я понимаю что через попу, но иногда по другому никак. smile
PM ICQ   Вверх
javastic
Дата 8.11.2005, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1214
Регистрация: 18.3.2005
Где: St.Petersburg

Репутация: 19
Всего: 27



Цитата(TyVik @ 7.11.2005, 15:40)
Угу...
Закорючками показывает русский текст, а с латиницей всё пучком! ;)

Эта, вспомнил ещё одну фичу. Если ты русский текст редактировал например через какую-либо софтину в которой кодировка не win стоит, а пытаешься потом декодировать через win, то в обломе будешь.
Тому пример Far он по умолчанию включает при редактировании cp866 (естественно я вижу что пишу по русски), потом в мидлете пытаюсь декодировать в win1251, а он мне закарючки выдаёт. Естественно нужно кодировать и декодировать в одной кодировке. Просто иногда не задумываешься какая стоит кодировка в софте (просто видишь что русский) через который вбиваешь текст.



--------------------
01101010 01100001 01110110 01100001 01110011 01110100 01101001 01100011
scjp, mcp 
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

  • Прежде чем задать вопрос прочтите это!
  • Литература по Java находится здесь.
  • Литературу по Java обсуждаем здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда

  • FAQ раздела лежит здесь!
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java ME (J2ME) | Следующая тема »


 




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


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

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