Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.20;
Скачать: CL | DM;

Вниз

Определение кодировки текстового файла, OEM или ANSI   Найти похожие ветки 

 
Michael K   (2004-01-08 14:39) [0]

Здравствуйте!
Знает ли кто алгоритм определения кодировки текстового файла, DOS (OEM) или Windows (ANSI)?
Полагаю 100% надёжного метода нет, но хоть какой-нибудь должен же быть, скажем, Total Commander
по F3 открывая файл пытается определить кодировку, причём почти всегда верно.


 
Романов Р.В. ©   (2004-01-08 14:51) [1]

В этих кодировках некоторые символы русского языка не пересекаются. Т.е. на месте русских символов одной кодировки находится псевдографика или каракули в другой. Анализируй кусок текста в поисках таких символов.


 
Anatoly Podgoretsky ©   (2004-01-08 14:56) [2]

Вопрос то не про русский, а про OEM-ANSI


 
Romkin ©   (2004-01-08 15:05) [3]

А по частоте употребления букв "О" и "о" как самый простой способ. Например, если часто встречается код 238 - то ANSI, иначе при присутствии множества символов больше 128 - скорее всего OEM


 
sniknik ©   (2004-01-08 15:13) [4]

очень простой способ, посчитать количество букв в куске кода, а если учесть что некоторые буквы встречаются в тексте чаше...
то например
Аа - в OEM 128-160, в ANSI 192-224
больше первых символов значит OEM вторых ANSI. (только наверное по "о" нужно ориентироваться более употребимая буква.)
или вообше посчитать обшую сумму ord символов в тексте и вычислить среднее значение, у ANSI это среднее будет больше (кодировка начинается с 192 а не 128).


 
sniknik ©   (2004-01-08 15:16) [5]

Anatoly Podgoretsky © (08.01.04 14:56) [2]
а для для английского разве важно? и там и там теже места занимают.


 
Anatoly Podgoretsky ©   (2004-01-08 15:21) [6]

Если используются только буквы (первая половина таблицы) то не вахно, но если используются символы со второй половины таблицы. то очень важно, они или отсутствуют в ANSI или находятся на других местах и без знания языка по позиции не определить толи это OEM, толи ANSI - например символ §


 
KSergey ©   (2004-01-08 15:24) [7]

> [5] sniknik © (08.01.04 15:16)
> Anatoly Podgoretsky © (08.01.04 14:56) [2]
> а для для английского разве важно? и там и там теже места
> занимают.

Подозреваю, что Podgoretsky как всегда решил выпендриться и намекнуть, что в общем случае OEM (равно как и ANSI) может быть не только для русского. Их много, для разных языков.
Вот только неужели и ему необходимо напоминать, что телепаты в отпуске?

PS
Простите за резкость тона к уважаемым согражданам (хотя какие они нам (мы им?) сограждане ;), но неужели нельзя свои мысли полностью излагать?
Чес. слово - больше на выпендреж похоже, чем на дружеское замечание умудренного опытом учителя. ("Я тут ляпну, а вы понапрягайтесь. А я тут поухмыляюсь в бороду". Стыдно, товарищ. Стыдно.) (Тамбовский, говоришь? ;)


 
KSergey ©   (2004-01-08 15:28) [8]

> [6] Anatoly Podgoretsky © (08.01.04 15:21)

Ага, пока я тут свои излияния делал, был дан кое-какой ответ ;)

Но может все же внимательнее читать вопросы? (я просто ищу формальный повод прицепиться)
"Полагаю 100% надёжного метода нет, но хоть какой-нибудь должен же быть"
На хоть какой-нибудь, думаю, предложенные вполне тянут.


 
KSergey ©   (2004-01-08 15:32) [9]

И еще в дополнение к KSergey © (08.01.04 15:28) и о поводу Anatoly Podgoretsky © (08.01.04 15:21)
При чем тут §? Речь про определение кодировки текста (рискну так же предположить - осмысленного), на который § - ну явно не похож - то тогда нам, наверное, действительно не повезет...


 
sniknik ©   (2004-01-08 15:44) [10]

Anatoly Podgoretsky © (08.01.04 15:21) [6]
ну наверное когда куча псевдографики, в общей массе (и не поймеш толи буква из ANSI толи символ из OEM) то и Total Commander неверно определит.
кстати можно и проверить, если так, то вычисляет подобным же образом.



Страницы: 1 вся ветка

Текущий архив: 2004.01.20;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.018 c
11-63050
Radmir
2003-04-04 11:30
2004.01.20
KOL + Indy


1-63144
DDA
2004-01-06 19:13
2004.01.20
ListView-выделить определенный файл в ListView


14-63344
Igorek
2003-12-26 13:16
2004.01.20
Порекоммендуйте программу чтения новостей


14-63395
DelphiN!
2003-12-28 14:58
2004.01.20
Абсолютно бесплатный хостинг на .com .net .org


3-62969
Danilas
2003-12-24 14:00
2004.01.20
Проблема с созданием сервера в InterBase