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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> win-1251 -> utf-8, как? 
V
    Опции темы
Rickert
Дата 4.3.2009, 06:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

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



Получаю содержимое файла с сервера:
Код
HttpConnection http = null;
InputStream iStrm = null;
try
{
  http = (HttpConnection) Connector.open(url);
  iStrm = http.openInputStream();

  byte serverData[] = new byte[length];

  iStrm.read(serverData);
  String resStr = new String(serverData);
}

Файл содержит латинские и русские буквы (в windows-1251). Как теперь сменить кодировку на понятную для сотовых? Как я понимаю - это utf-8.


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
math64
Дата 4.3.2009, 08:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Последняя строка должна быть:
Код

String resStr = new String(serverData, "Cp1251");

Но большинство телефонов эту кодировку не понимает. Я обычно перекодирую вручную:
Код

String resStr = to1251String(serverData, length);

static final String str1251 = "....АБВГД...ЭЮЯабвгд...эюя"; // символы 128 - 255 в кодировке Cp1251
public static String to1251String(byte[] bytes, int length) {
  char[] chars = new char[length];
  for (int i=0; i < length; i++) {
    char c = (char)bytes[i];
    if (c >= 128) {
      c = str1251.charAt(c-128);
    }
    chars[i] = c;
  }
  return new String(chars);
}

PM   Вверх
Rickert
Дата 4.3.2009, 09:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

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



Навёл на мысль. Спасибо smile 


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

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

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


 




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


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

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