Fórum Root.cz
Hlavní témata => Software => Téma založeno: Sand 08. 01. 2016, 21:09:23
-
Zdar,
Hledám příkaz do terminálu v ubuntu který vypíše formáty u txt souborů...
To znamená vyhledá soubory txt ve složce a napíše jestli se jendá o ("CP1250" "UTF-8" "CP852" "CP859" "ISO 8859-2")
-
Zdar,
Hledám příkaz do terminálu v ubuntu který vypíše formáty u txt souborů...
To znamená vyhledá soubory txt ve složce a napíše jestli se jendá o ("CP1250" "UTF-8" "CP852" "CP859" "ISO 8859-2")
file
-
KIT: si poslal první slovo co si našel na google ne ?
Doufám že odpoví někdo rozumnej...
-
KIT: si poslal první slovo co si našel na google ne ?
Doufám že odpoví někdo rozumnej...
Odpovedel rozumne.
-
Ja som to riešil asi pred pol rokom a vzdal som to. Skúšal som rôzne spôsoby. Mal som pár súborov v nejakých encodingoch a výsledok bol fakt zlý. Myslím, že cp1250 bol najväčší problém. Možno závisí od konkrétnych súborov, čo a koľko obsahujú...
-
Ja som to riešil asi pred pol rokom a vzdal som to. Skúšal som rôzne spôsoby. Mal som pár súborov v nejakých encodingoch a výsledok bol fakt zlý. Myslím, že cp1250 bol najväčší problém. Možno závisí od konkrétnych súborov, čo a koľko obsahujú...
Problem je ten, ze se vzdy bude jednat pouze o odhad zalozeny na frekvencni analyze. Pokud je tam znaku mimo ASCII malo, tak to samozrejme jednoznacne rozhodnutelne nebude a je treba zasah cloveka.
Mrkni na tool enca. Mel bys ho mit v distru.
-
enca funguje správne ak dopredu poznám jazyk, ja som ho nepoznal. A ani nepozná všetky
$ enca --list languages
belarussian: CP1251 IBM866 ISO-8859-5 KOI8-UNI maccyr IBM855 KOI8-U
bulgarian: CP1251 ISO-8859-5 IBM855 maccyr ECMA-113
czech: ISO-8859-2 CP1250 IBM852 KEYBCS2 macce KOI-8_CS_2 CORK
estonian: ISO-8859-4 CP1257 IBM775 ISO-8859-13 macce baltic
croatian: CP1250 ISO-8859-2 IBM852 macce CORK
hungarian: ISO-8859-2 CP1250 IBM852 macce CORK
lithuanian: CP1257 ISO-8859-4 IBM775 ISO-8859-13 macce baltic
latvian: CP1257 ISO-8859-4 IBM775 ISO-8859-13 macce baltic
polish: ISO-8859-2 CP1250 IBM852 macce ISO-8859-13 ISO-8859-16 baltic CORK
russian: KOI8-R CP1251 ISO-8859-5 IBM866 maccyr
slovak: CP1250 ISO-8859-2 IBM852 KEYBCS2 macce KOI-8_CS_2 CORK
slovene: ISO-8859-2 CP1250 IBM852 macce CORK
ukrainian: CP1251 IBM855 ISO-8859-5 CP1125 KOI8-U maccyr
chinese: GBK BIG5 HZ
none:
-
Taky jsem to resil a zustal jsem u enca. Zjistovat kodovani souboru je z principu tak trochu vesteni z kavove sedliny, mozna proto neexistuje uplne spolehlivej tool.
-
KIT: si poslal první slovo co si našel na google ne ?
Doufám že odpoví někdo rozumnej...
? ? ?
Utilita file většinou (zapamatuj si to slovo) dává použitelné výsledky.
Ale pokud potřebuješ seznam autorů, politické zřízení v zemi vzniku a aktuální konstelaci hvězd, zkus
delphi testovany_soubor
(omg)
-
File se nesnaží pořádně rozeznávat mezi jednotlivými 8bitovými kódováními, např. mezi win1250 a iso-8859-2.
pavel@probook ~ $ file text.txt
text.txt: UTF-8 Unicode text
pavel@probook ~ $ file text-latin2.txt
text-latin2.txt: ISO-8859 text
pavel@probook ~ $ file text-1250.txt
text-1250.txt: Non-ISO extended-ASCII text
Enca je na tohle specialista
pavel@probook ~ $ enca text.txt
Universal transformation format 8 bits; UTF-8
pavel@probook ~ $ enca text-latin2.txt
ISO 8859-2 standard; ISO Latin 2
pavel@probook ~ $ enca text-1250.txt
MS-Windows code page 1250
LF line terminators
-
Pokud je to možné, tak zvaž použití "domain specific" detekce, tedy pokud lze očekávat že třeba dokument zákazníka z bulharska bude obsahovat nějaké specifické slovo které oni v dokumentech často používají, tak to bude cp1251. Případně si udělej heuristiku, když dokument obsahuje takové nebo takové nebo další specifické slovo a zároveň je nový řádek kódován pomocí CRLF pak se třeba jedná o nějakou určitou znakovou sadu. Sice to není spolehlivé, ale v rámci určitého typu obsahu souborů to může být i velmi uspokojivé 8).