Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Кодовая страница текстовых файлов / 12 сообщений из 12, страница 1 из 1
27.08.2007, 13:18
    #34754458
tmi
tmi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодовая страница текстовых файлов
Такая проблема: Есть каталог на диске, в него из почты скидываются текстовые файлы, кадировка может быть как 866 так и 1251, как определить у какого файла какая кадировка?
...
Рейтинг: 0 / 0
27.08.2007, 13:37
    #34754591
Кодовая страница текстовых файлов
Статистическим анализом содержимого.
...
Рейтинг: 0 / 0
27.08.2007, 13:53
    #34754670
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодовая страница текстовых файлов
Программно, со 100% гарантией - никак. Просто потому, что обычный текстовый файл не имеет явного признака кодовой страницы. Единственный способ гарантированно ее определить - это менять кодовую страницу и смотреть глазами, что получилось.

А определить с некоторой степенью вероятности - это статистический анализ наиболее часто встречающихся кодов символов и их сочетаний. Ну, или искать текст, который должен быть в письме обязательно сначала в одной кодовой странице, потом в другой.
...
Рейтинг: 0 / 0
27.08.2007, 14:03
    #34754717
tmi
tmi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодовая страница текстовых файлов
В том то и дело, все должно выполняться автоматом (иначе просто нет смысла) без какого либо человеческого участия - обработка входной корреспонденции- далее посылка на печать.
...
Рейтинг: 0 / 0
27.08.2007, 14:27
    #34754858
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодовая страница текстовых файлов
Только эвристикой.
Еще можешь оттолкнуться от кодов символов русских букв:
Win (1251): 192-255
DOS (866): 128-159, 160-239

Считай сколько символов попало в каждый диапазон и принимай решение 1251 или 866.
...
Рейтинг: 0 / 0
27.08.2007, 14:30
    #34754878
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодовая страница текстовых файлов
Про DOS чуть напутал: 128-175, 224-239
...
Рейтинг: 0 / 0
27.08.2007, 15:06
    #34755092
korsak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодовая страница текстовых файлов
tmiВ том то и дело, все должно выполняться автоматом (иначе просто нет смысла) без какого либо человеческого участия - обработка входной корреспонденции- далее посылка на печать.

Можно использовать вероятности биграмм - грубо говоря - насколько часто буква встречается в среднестатистическом тексте.
Для какой кодировки сумма процентов больше - та и верная. Срабатывает даже там, где неверно указана кодировка письма (при желании можно распознать и многократные перекодировки).

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
    Вероятности биграмм в тексте                     
                                                     
        АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШПТЬЫЬЭЮЯ     Процент
А        278677774777883767826677550000679         71    
Б        711016226056357275070541055722035         13    
В        805048037167568466660301300820048         38    
Г        601165006045448070060012000000004         10    
Д        816348107047178465271333400640457         25    
Е        556786664778896588933656560011559         73    
Ж        600067217050271012130000000020002         8     
 3         846264116155667150060021002620046         14    
И        667668577776885578815777630100679         64    
и        003030000036540006600012300000008         11    
к        815116527127058076670060100000007         29    
л        841218618044167003363003110680786         31    
м        757228017044768513161000000730068         32    
н        903368119060178005765253000850467         50    
о        288886776878876788832567650015259         89    
п        700008047036148494562010000453044         28    
р        916448608052668426673542420740167         48    
с        646257207078668756963515500561387         43    
т        827148008064569388460004021780158         60    
у        344667653365560677715506360000748         19    
ф        600005006002206040354000000100002         4     
х        433004003011056053130020001000008         6     
ц        506006007000003000040000000500005         6     
ч        701008007061062010730001300130004         12    
ш        500006007033034030340000000040005         3     
щ        600007006000020020040000000040101         3     
ъ        000004000000000000000000000000032         1     
ы        147357151755621555600705410100018         18    
ь        010003071060471006400001610000628         12    
э        004001000265210201704300000000001         4     
ю        050020120410000003700006170010307         6     
я        015256250223650144700443040000649         18    
         789787588386899989877678511218260         138   
...
Рейтинг: 0 / 0
27.08.2007, 17:07
    #34755746
StandD
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодовая страница текстовых файлов
А если проверять наличие таких вот нестандартных символов - ў®§¬®¦ и пр., которых в тексте быть не должно?
...
Рейтинг: 0 / 0
28.08.2007, 04:54
    #34756659
tmi
tmi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодовая страница текстовых файлов
Идея понятна. Всем огромное спасибо!
...
Рейтинг: 0 / 0
28.08.2007, 06:20
    #34756676
tmi
tmi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодовая страница текстовых файлов
У меня получилось DOS кодировка 129-176 и 225-242
...
Рейтинг: 0 / 0
29.08.2007, 20:08
    #34762944
Гулин Федор
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодовая страница текстовых файлов
про биграммы не понял :(
аа- 2 аб -7
это что значит вероятность аб в 7/2 выше чем аа

процент в столбце ???
и последняя строка ?
pls поясните
...
Рейтинг: 0 / 0
30.08.2007, 15:05
    #34764858
korsak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодовая страница текстовых файлов
Гулин Федорпро биграммы не понял :(
аа- 2 аб -7
это что значит вероятность аб в 7/2 выше чем аа

Если хочешь точно - погугли.
Насколько я помню - относительная частота появления в тексте (от 0 до 9)

Гулин Федор
процент в столбце ???
и последняя строка ?
процент - насколько часто буква встречается в текстах (относительно ъ)
Последняя строка - темный лес :)

В принципе для решения реальной задачи мне хватило колонки "процент". Прога уверенно распознает любую кодировку.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Кодовая страница текстовых файлов / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]