Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > VB6 > ANSI -> UTF-8 etc |
Автор: Andrey_Skif 3.9.2007, 17:57 |
Проблема возникла следующая. При открытии текста в формате UTF-8 (при выводе его в textBox) отображается нечто непонятное. Вопрос, соответственно, такой: как сделать, чтобы текст выглядел так, как надо. А кроме того, как текст, открытый в одном фориате, пересохранить в другом (формате). Кстати (может это важно, а может и нет - не знаю), формат открываемого текста заранее неизвестен. Может быть или ANSI или UTF-8. |
Автор: Andrey_Skif 3.9.2007, 19:12 | ||||||||
Хорошо, но скажи какую именно функцию и как использовать. То, что надо чего-то и как-то использовать я и сам понимаю. ![]()
С этого места поподробнее... А вообще-то, я исключительно для личного пользования написал программку, которая немного корректирует субтитры (SRT формат, если что). Так вот, там кодировка разная попадается, так что выбирать не приходится и это не моя прихоть. А что касается определения кодировки, то можно также поподробнее (или ссылка). Пожалуйста, если не трудно. ![]() |
Автор: Akina 3.9.2007, 22:19 | ||
Алгоритмы определения кодировок основаны на 2 принципах: определение невалидности данного символа в данной кодировке (отсев заведомо неверных кодировок) и частотный анализ вхождения символов (выбор кодировки из возможных). Если первый этап работает правильно при корректном тексте (например chr(0) невозможен в СР866), то второй всегда дает лишь вероятностное решение, улучшение которого возможно лишь в тандеме с проверкой по словарю. PS. Плотно этими вопросами не занимался, так что могу дать лишь самое общее направление, в котором можно начинать поиск. |
Автор: Andrey_Skif 4.9.2007, 23:13 |
![]() ![]() Отдельный респект за краткий обзор алгоритмов определения кодировок. ![]() |