|
Возможна ли правильная загрузка локализованных данных из ANSI файла
|
|||
---|---|---|---|
#18+
В общем нужно из ANSI файла достать локализованные данные и преобразовать их в строку. Делаю так: Код: java 1. 2. 3. 4.
В строке вижу нормально прочитанные русские буквы. Проблема в том что в файле могут быть н-р немецкие или другие локальные данные. В общем я не знаю как сопоставить языку системы нужные данные для перекодировки - "windows-1251". Пробовал String s = new String(buf); язык системы был русский - но преобразовалось неправильно - т.е. по умолчанию нормально в локальную версию языка не преобразовывает. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2014, 16:50 |
|
Возможна ли правильная загрузка локализованных данных из ANSI файла
|
|||
---|---|---|---|
#18+
Микола Питерский, в таком случае используется юникод. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2014, 16:56 |
|
Возможна ли правильная загрузка локализованных данных из ANSI файла
|
|||
---|---|---|---|
#18+
wadmanМикола Питерский, в таком случае используется юникод. Ну UTF-8 файл я попробовал - работает с ним нормально. Но задача стоит именно разобрать ANSI. В Windows н-р без проблем такое можно сделать загрузив данные без указания перекодировки - если винда русская и в файле ANSI русский - то перекодируется без проблем. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2014, 16:59 |
|
Возможна ли правильная загрузка локализованных данных из ANSI файла
|
|||
---|---|---|---|
#18+
Андроид юникодный более полноценно, чем винда. Вечно стереотипами мыслишь (я про дельфи и винду), вредно это для программиста... https://www.google.ru/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#newwindow=1&q=android detect codepage ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2014, 17:05 |
|
Возможна ли правильная загрузка локализованных данных из ANSI файла
|
|||
---|---|---|---|
#18+
wadmanАндроид юникодный более полноценно, чем винда. Вечно стереотипами мыслишь (я про дельфи и винду), вредно это для программиста... Не знаю о чем ты - но я до сих пор юзаю Delphi2010 - это юникоидная версия, Windows 2000 и все последующие версии полностью поддерживают юникод, кроме того в винде н-р можно сделать так: у тебя винда немецкая а ты хочешь загрузить ANSI файлик в котором русские данные - ты можешь указать в настройках винды что хочешь открывать все ANSI файлы как русскоязычные и все будет нормально перекодироваиться. А в андроиде я сразу на этом обломился - 2 часа гугления ни к чему не привели. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2014, 17:21 |
|
Возможна ли правильная загрузка локализованных данных из ANSI файла
|
|||
---|---|---|---|
#18+
Микола Питерский А в андроиде я сразу на этом обломился - 2 часа гугления ни к чему не привели. Ну вот, секунда гугления и ответ найден. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2014, 18:02 |
|
Возможна ли правильная загрузка локализованных данных из ANSI файла
|
|||
---|---|---|---|
#18+
wadmanНу вот, секунда гугления и ответ найден. :-) Ты задал гуглу некорректный вопрос "определить кодировку файла" и получил ссылки, которые ничего не дают т.к. в файле ANSI изначально кодировка нигде не задается и автоматически ее определить нельзя и кодировку которую андроид опрелеляет на файле ANSI это UTF-8, соответсвенно он его и не правильно перекодирует. В андроиде есть таблица кодировок Charset.availableCharsets() - вот я ее и пытаюсь задействовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2014, 18:37 |
|
Возможна ли правильная загрузка локализованных данных из ANSI файла
|
|||
---|---|---|---|
#18+
Микола ПитерскийТы задал гуглу некорректный вопрос "определить кодировку файла" и получил ссылки, которые ничего не дают т.к. в файле ANSI изначально кодировка нигде не задается и автоматически ее определить нельзя Шутишь чтоль? http://illegalargumentexception.blogspot.co.uk/2009/05/java-rough-guide-to-character-encoding.html#javaencoding_autodetect несколько ссылок на эту библиотеку... Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
output Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Или у тебя гугл адаптирован не на ту выдачу, которая у меня. Читай как "другой гугл". ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2014, 18:52 |
|
Возможна ли правильная загрузка локализованных данных из ANSI файла
|
|||
---|---|---|---|
#18+
wadman, я эту ссылку смотрел и пытался сделать - но андроид понятия не имеет что такое: Код: java 1.
Неужели в жаве нет таких функций для конвертирования как AnsiToUTF - в делфи их полно и работают отлично. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2014, 10:56 |
|
Возможна ли правильная загрузка локализованных данных из ANSI файла
|
|||
---|---|---|---|
#18+
Микола Питерскийя эту ссылку смотрел и пытался сделать - но андроид понятия не имеет что такое: Естественно, ведь речь о сторонних библиотеках. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2014, 11:24 |
|
Возможна ли правильная загрузка локализованных данных из ANSI файла
|
|||
---|---|---|---|
#18+
Микола ПитерскийНеужели в жаве нет таких функций для конвертирования как AnsiToUTF - в делфи их полно и работают отлично. В яве есть всё. http://www.tutorialspoint.com/java/java_string_getbytes.htm ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2014, 11:27 |
|
Возможна ли правильная загрузка локализованных данных из ANSI файла
|
|||
---|---|---|---|
#18+
wadmanМикола ПитерскийНеужели в жаве нет таких функций для конвертирования как AnsiToUTF - в делфи их полно и работают отлично. В яве есть всё. http://www.tutorialspoint.com/java/java_string_getbytes.htm Знаю эту функцию - но опять же для перекодировки нужно САМОМУ указывать кодировку, поддерживает эта функция работу и без параметра, тогда берется кодировка по умолчанию - для андроида это UTF-8. Т.е. единственный вывод - анроид без указания кодировки умеет работать только с UTF-8, возможности переконвертирования автоматом исходя из языка, установленного в системе у него нет. Самому добраться до таблички соответствия кодировки и языков системы мне не удалось. Остается предлагать в настройках программы самому пользователю написать "кодировку символов" для возможности чтения ANSI данных - т.е. русскоязычный пользователь погуглит и там укажет "windows-1251", немец что-то другое и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2014, 11:47 |
|
Возможна ли правильная загрузка локализованных данных из ANSI файла
|
|||
---|---|---|---|
#18+
Микола ПитерскийСамому добраться до таблички соответствия кодировки и языков системы мне не удалось. У меня иногда складывается впечатление, что я впустую привожу ссылки... Возможна ли правильная загрузка локализованных данных из ANSI файла ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2014, 12:01 |
|
Возможна ли правильная загрузка локализованных данных из ANSI файла
|
|||
---|---|---|---|
#18+
wadmanУ меня иногда складывается впечатление, что я впустую привожу ссылки... Возможна ли правильная загрузка локализованных данных из ANSI файла Смотрел я ту библиотеку - но она вовсе не для того что мне нужно. Та библиотека - это интелектуальное определение кодировки по тексту письма и поддерживает далеко не все языки мира и она не сможет определить кодировку по ограниченному набору слов. Мне нужно узнать н-р андроид рускоязычный Locale.getDefault() возвращает "ru_RU" и я знаю что такому языку для ANSI соответствует кодировка "windows-1251", задача - узнать эту кодировку для другого любого языка мира. В каждой операционке есть таблица соответствия этих кодировок - покрайней мере в виндовсе это труда не составляет, как это сделать в андроиде? Подозреваю что в андроиде эта таблица лежит здесь: Charset.availableCharsets() но прочитать его мне не получилось. Все примеры для жавы по перекодировке в андроиде не работают - подозреваю что жава когда-то была не юникоидной и примеры устарели. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2014, 12:23 |
|
Возможна ли правильная загрузка локализованных данных из ANSI файла
|
|||
---|---|---|---|
#18+
Микола ПитерскийВ каждой операционке есть таблица соответствия этих кодировок - покрайней мере в виндовсе это труда не составляет, как это сделать в андроиде? Не туда тебя понесло... Как в винде понять, что такое en_us в линуксе? Это лишь разные названия кодировок и я что-то не встречал кода перевода. Попробуй составить таблицу соответствия сам. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2014, 12:49 |
|
Возможна ли правильная загрузка локализованных данных из ANSI файла
|
|||
---|---|---|---|
#18+
В общем собственную таблицу перекодировок составить не реально. А вот вынести запрос кодировки в настройки программы - это самое то и если подумать то так даже удобней чем это сделано в виндовс - т.к. тогда каждое приложение в андроид может обрабатывать ANSI данные для разных языков, а виндовсе можно установить только один язык для всех приложений. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2014, 14:53 |
|
Возможна ли правильная загрузка локализованных данных из ANSI файла
|
|||
---|---|---|---|
#18+
опять непонятные велосипеды. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2014, 16:05 |
|
Возможна ли правильная загрузка локализованных данных из ANSI файла
|
|||
---|---|---|---|
#18+
Джибс, ну так подскажи - как правильно! ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2014, 16:21 |
|
|
start [/forum/topic.php?fid=13&msg=38775968&tid=1331556]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
250ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
others: | 17ms |
total: | 378ms |
0 / 0 |