|
|
|
Junior Member
      
участник
Last Login: 27.11.2006 11:39
Сообщ.: 12,
Visits: 117
|
|
Вопрос следующего рода - я устававливаю подключение при помощи url.openStream(), получаю HTML страничку, содержимое которой закодировано в KOI-8r. Все операции внутри программы я провожу в UTF-16 ( что собственно неудевительно ), как мне перегнать из KOI8-r (да и с любой другой) в UTF-16?
Заранее спасибо
PS. Возможно такой вопрос уже был задан, но поиск по форуму при запросе "кодировка" вылетает
Sorry the application encountered an unexpected error. Information about this error has been logged. If you continue to receive this message please contact the board administrator.
|
|
|
|
|
Forum Member
      
участник
Last Login: 12.12.2006 17:30
Сообщ.: 45,
Visits: 83
|
|
| используй возможности класса String 1. getBytes(String charsetName) 2. new String(bytes[] b, String charsetName)
|
|
|
|
|
Forum Member
      
участник
Last Login: 12.12.2006 17:30
Сообщ.: 45,
Visits: 83
|
|
| в твоем случае, думаю, так InputStream is = url.openStream(); byte[] b = new byte[...]; while(..){ .. is.read(b , ..,..); String str = new String(b, имякодировкиkoi8); .. }
|
|
|
|
|
Supreme Being
      
участник
Last Login: 23.05.2007 20:20
Сообщ.: 662,
Visits: 5 795
|
|
BufferedRaeder in = new BufferedReader(new InputStreamReader(url.openStream(), ...));
В качестве многоточия указываешь одно из следующего:
- java.nio.charset.Charset cs;
- java.nio.charset.CharsetDecoder cd;
- java.lang.String charsetName.
Смотри констукторы класса java.io.InputStreamReader.
Сделав так, массив байтов, приходящих с сервера будет правильно декодироваться в Unicode.
Преобразование из Unicode в UTF-16 -- отдельная операция.
|
|
|
|
|
Junior Member
      
участник
Last Login: 27.11.2006 11:39
Сообщ.: 12,
Visits: 117
|
|
|
|
|