Форум: "Основная";
Текущий архив: 2004.01.20;
Скачать: [xml.tar.bz2];
ВнизОпределение кодировки текстового файла, 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.011 c