|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.04.2012, 00:06 | #1 |
Пользователь
Регистрация: 09.04.2012
Сообщений: 10
|
определение кодировки текстового файла+вопрос
Доброго времени суток!
Мне нужно определить исходную кодировку текстового файла (.txt) и вывести имя кодировки!!!, а потом сохранить этот файл в другой кодировке. Возникли проблемы при определении кодировки. Я не знаю где мне посмотреть имя исходной кодировки, хотя такой метод существует (TEncoding.GetEncodingName), но и с ним возникли вопросы. Ругается что нету такого: рис.1 Хотя в описании класса присутствует: рис.2 Судя из описания метода, ничего я не получу.: Код:
Код моей программы: Код:
|
10.04.2012, 05:45 | #2 |
Участник клуба
Регистрация: 07.12.2011
Сообщений: 1,025
|
только анализируя количество букв русского алфавита и сравнивая с обычным для языка статистическим распределением
Не стесняемся, плюсуем!
|
10.04.2012, 07:50 | #3 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,882
|
GetEncodingName это strict protected член класса, до него из клиентского кода не добраться. То что он возвращает пустую строку при виртуальности функции значит что скорее всего его потомки (класса TEncoding) будут возвращать нужное имя (плюс , возможно перенесут метод в public секцию).
Я бы посоветовал обратиться к документации по данному классу, или использовать другие методы |
10.04.2012, 14:31 | #4 |
Пользователь
Регистрация: 09.04.2012
Сообщений: 10
|
|
10.04.2012, 16:14 | #5 | |
Пользователь
Регистрация: 09.04.2012
Сообщений: 10
|
Цитата:
|
|
10.04.2012, 19:12 | #6 |
Участник клуба
Регистрация: 07.12.2011
Сообщений: 1,025
|
Код:
Не стесняемся, плюсуем!
|
10.04.2012, 20:45 | #7 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
Достоверно определить кодировку текстового файла принципиально невозможно, т.к. такой информации ни в самом файле, ни в файловой системе нет.
Метод, очевидно, сделан как заглушка для будущих разработок. Если есть желание, можно написать его самому, но см. выше. Для определения кодировки следует использовать несколько формальных признаков и статистические методы. |
10.04.2012, 20:59 | #8 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
однозначно определить можно только кодировки с BOM(а файлы не обязаны содержать этот BOM), а это семейство UTF.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Определение кодировки текстового файла | Sobaka_ru | Помощь студентам | 3 | 23.01.2012 09:41 |
Изменение кодировки файла. | goodwen | C# (си шарп) | 4 | 15.12.2011 19:12 |
Различные кодировки- считывание из файла. | NikLik | Общие вопросы Delphi | 2 | 15.09.2008 23:12 |
Очень БОЛЬШОЙ вопрос про кодировки в базе | Tanuska___:) | БД в Delphi | 3 | 02.05.2008 05:36 |