![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
xreal |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 96 Регистрация: 25.12.2009 Репутация: нет Всего: нет |
Здравствуйте. Читаю текст на русском из файла в UTF-8 и кодирую его в cp1251, записываю в новый фал. При записи в файл полученной строки после текста идёт куча null. Как я понимаю всё дело в том, что текст в UTF-8 занимает больше места, чем тот же текст в cp1251, а так как кодирование идёт по размеру недостающие байты заполняются null. Подскажите как быть) Записываю так:
|
|||
|
||||
xreal |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 96 Регистрация: 25.12.2009 Репутация: нет Всего: нет |
неужели никто не знает?
|
|||
|
||||
dorogoyIV |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: 3 Всего: 46 |
|
|||
|
||||
Skipy |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 487 Регистрация: 24.8.2006 Где: Москва, Россия Репутация: 6 Всего: 16 |
Знает: http://www.skipy.ru/technics/encodings.html |
|||
|
||||
xreal |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 96 Регистрация: 25.12.2009 Репутация: нет Всего: нет |
2dorogoyIV, вариант не подходит, потому что buf.length больше, чем кол-во прочитанного текста, buf это массив char размером 1000, вот он и пишет текст а потом ещё до 1000 кучу NULL.
2Skipy, спасибо за полезную информацию=) В итоге всё сделал по-своему. Не знаю на сколько профессионально. Но посчитал количество символов в buf до NULL и записал до этого места. Ответ оказался тривиален) Но всё равно спасибо всем за помощь. |
|||
|
||||
fenix666 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 29.3.2008 Репутация: нет Всего: нет |
Возникла проблема с кодировкой:
В результате все символы без проблем преобразуются, кроме буквы 'И'. В виндовой кодировке после пробразования получаю '??ван'. Как с этим бороться? Это сообщение отредактировал(а) fenix666 - 30.8.2011, 12:54 |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
jk1 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1168 Регистрация: 17.10.2008 Где: Санкт-Петербург Репутация: 40 Всего: 75 |
fenix666,
Skipy выше по треду дал ссылку на замечательную статью, там в том числе расписано почему не работает Ваш способ и как сделать правильно. -------------------- Opinions are like assholes — everybody has one |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |