Имя: Пароль:
1C
 
узнать кодировку текстового файла
, ,
0 Вжескрыылг
 
17.06.10
15:13
может, есть метод у FSO? как узнать кодировку DOS/Win или OEM/ANSI?
1 ДенисЧ
 
17.06.10
15:18
скорее всего только словарным поиском.
вот скажем текст "абвгдежзиклм" - в какой кодировке?
2 1dvd
 
17.06.10
15:19
(1) Если точно известно, что в тексте есть какое-то слово, то можно поискать его в разных кодировках
3 ДенисЧ
 
17.06.10
15:21
(2) я и говорю - словарный поиск
4 Вжескрыылг
 
17.06.10
15:26
(3) я так и знал, что придется так делать... есть такое слово, в банковских файлах примерно 3-я строчка Кодировка="DOS", только коряво как-то
5 Вжескрыылг
 
17.06.10
15:28
есть же у FCO метод Type, дает "текстовый документ". неужели нельзя узнать кодировку?
6 Guk
 
17.06.10
15:31
не знаю как ФСО, а объект Текст умеет различать вин/дос кодировку...
7 Вжескрыылг
 
17.06.10
15:33
(6) Это открыть файл и спросить Текст.КодоваяСтраница()? Да он "0" всегда дает
8 1dvd
 
17.06.10
15:34
(5) открою тебе маленький секрет. Простой текстовый файл состоит из символов. Каждый символ имеет код 00 - FF, причем во всех кодировках первая половина символов одинаковая. Так вот русские буквы в разных кодировках имеют разные коды. А так, больше ничем они не отличаются
9 Вжескрыылг
 
17.06.10
15:37
(8) это надо открывать HEX и чихвостить из кодов символы?
10 1dvd
 
17.06.10
15:43
(9) а что тебе это даст?
Вот простой пример:
"буква" - в виндовс-кодировке
"съэтр" - в дос-кодиовки

Как из этого машина поймет, что там виндовс-кодировка?
11 VasilyKushnir
 
17.06.10
15:50
А как редакторы автоматом определяют? Тот же AkelPad.
12 smaharbA
 
17.06.10
15:52
есть алгоритм
13 Jstunner
 
17.06.10
15:52
(11) по частоте символов, словарям, етс...
14 smaharbA
 
17.06.10
15:52
утф8 определяется легко и без наличия маркера
15 smaharbA
 
17.06.10
15:53
частота и словари нафих не нужны
16 Вжескрыылг
 
17.06.10
16:07
короче, делаем тупо по вхождению слов "DOS" или "Windows" (напоминаю, речь идет о файлах экспорта банков). вот насчет произвольных файлов - проблемка?