Zjištění kódování u txt souborů

Sand

Zjištění kódování u txt souborů
« kdy: 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")

« Poslední změna: 08. 01. 2016, 22:06:14 od Petr Krčmář »


Kit

Re:Výpis formátu u txt souborů ve složce
« Odpověď #1 kdy: 08. 01. 2016, 21:11:48 »
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

Sand

Re:Výpis formátu u txt souborů ve složce
« Odpověď #2 kdy: 08. 01. 2016, 21:27:58 »
KIT: si poslal první slovo co si našel na google ne ?

Doufám že odpoví někdo rozumnej...

hu

Re:Výpis formátu u txt souborů ve složce
« Odpověď #3 kdy: 08. 01. 2016, 21:46:41 »
KIT: si poslal první slovo co si našel na google ne ?

Doufám že odpoví někdo rozumnej...

Odpovedel rozumne.

Re:Výpis formátu u txt souborů ve složce
« Odpověď #4 kdy: 08. 01. 2016, 21:46:54 »
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ú...


hu

Re:Výpis formátu u txt souborů ve složce
« Odpověď #5 kdy: 08. 01. 2016, 21:50:42 »
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.

Re:Výpis formátu u txt souborů ve složce
« Odpověď #6 kdy: 08. 01. 2016, 21:57:46 »
enca funguje správne ak dopredu poznám jazyk, ja som ho nepoznal. A ani nepozná všetky
Kód: [Vybrat]
$ 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:

Unknown

Re:Zjištění kódování u txt souborů
« Odpověď #7 kdy: 08. 01. 2016, 22:20:21 »
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.

Re:Výpis formátu u txt souborů ve složce
« Odpověď #8 kdy: 08. 01. 2016, 22:30:20 »
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)

dustin

Re:Zjištění kódování u txt souborů
« Odpověď #9 kdy: 09. 01. 2016, 09:24:52 »
File se nesnaží pořádně rozeznávat mezi jednotlivými 8bitovými kódováními, např. mezi win1250 a iso-8859-2.

Kód: [Vybrat]
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

Kód: [Vybrat]
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

Sheldonizátor

Re:Zjištění kódování u txt souborů
« Odpověď #10 kdy: 09. 01. 2016, 13:00:43 »
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).