PREKODÉR32 v 3.7
About PREKODÉR aneb k čemu mi je? (program)
a) jít domů a soubor uložit v jiném kódování (pokud ho podporuje textový
editor)
b) přepsat u kamaráda v jeho textovém editoru celý článek (pokud není moc dlouhý)
c) použít program PREKODÉR
Jak asi sami uznáte je nejjednodušší volbou použití programu PREKODÉR
Prekodér slouží k obousměrnému převodu kódu LATIN II, KAMENICKYCH, WINDOWS, ISO 8859-2, US. Někdy je třeba také ze souboru české znaky úplně odstranit. K tomu slouží převod KAMENIK ---> US nebo LATIN II ---> US atd.
Kódové stránky: (K=895=867, L=852, W=1250, ISO 8859-2, KOI8CS, MAC, US=437)
LK
... latin II ---> kamenik LW ... latin II ---> windows KL ... kamenik ---> latin II LUS .. latin II ---> US formátu WK ... windows ---> kamenik KUS .. kamenik ---> US formátu WL ... windows ---> latin II WUS .. windows ---> US formátu KW ... kamenik ---> windows WI ... windows ---> ISO 8859-2 KI ... kamenik ---> ISO 8859-2 IW ... ISO 8859-2 -> windows IK ... ISO 8859-2 -> kamenik IL ... ISO 8859-2 -> latin II LI ... latin II ---> ISO 8859-2 IUS .. ISO 8859-2 -> US formátu K8W .. KOI8CS ---> windows K8US ..KOI8CS ---> US formátu MW ... MACINTOSH --> windows MW ... windows ---> MACINTOSH MUS .. MACINTOSH --> US formátu |
Příklad použití: prekoder.exe dopis1.txt dopis2.txt kw
Pokud nevíte v jakém kódování to je, stačí nahrát text do editovacího okna a
vyzkoušet např.:
LATIN II 852 ---> US, ťuknout na PŘEVEĎ
ISO 8859-2 ---> US, ťuknout na PŘEVEĎ atd.
Seznam kódů:
1. KAMENÍK 895, 867 (K) Starší ale své doby docela dobrá čeština, též KYEBCS2 2. LATIN II 852 (L) Čeština pod WINDOWS pro aplikace DOS (nádhera co?) 3. WINDOWS 1250 (W) Čeština používaná WINDOWS pro aplikace WINDOWS (např. MSWORD ap.) 4. ISO 8859-2 (I) Středoevropská latinka ISO (UNIX) 5. KOI8CS (K8) Stará norma CS. Trochu archaické, ale snad to někdo ještě použije. 6. MAC (M) Kódování pro MACINTOSH 7. US FORMAT (US) Standard USA, také ASCII, 7 bit. formát
Pozn: Pokud se Vám bude zdát, že pod WINDOWS 95 jsou 2 (dvě) češtiny tak máte
naprostou pravdu. Jsou to pro aplikace DOS LATIN II
a pro aplikace WINDOWS 1250. Pokud si
ještě pustíte např. účetnictví s vlastním ovladačem češtiny, můžete místo
českých znaků vidět pouze paznaky. Ještě bych měl vysvětlit co to je ten US
formát. Jak sám název napovídá je to formát bez hačků a čárek standard
v USA. Proto US, ASCII, 7 bitový kód jedno a to samé jsou. U těchto kódování stále
platí, že jeden byt je 8 bitů, ale 8. (osmý) bit je vždy nastaven na nulu. Ještě
názorná ukázka 7 bit. písmenka A (ASCII hodnota 65, B=66, C=67 atd.).
hodnota | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
bit | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 |
číslo bitu | 8. | 7. | 6. | 5. | 4. | 3. | 2. | 1. |
Pokud máte problémy se zobrazováním českých znaků ve WINDOWS 95,98 v programech
pro DOS, zkuste nejprve vypnout tuto češtinu (REM) v souboru CONFIG.SYS a AUTOEXEC.BAT.
rem CESTINA LATIN II 852 - soubor CONFIG.SYS
device=c:\windows\command\display.sys con=(ega,,1)
country=042,852,c:\windows\command\country.sys
rem cestina LATIN II 852 - soubor AUTOEXEC.BAT
mode con cp prepare=((852) c:\windows\command\ega.cpi)
mode con cp select=852
keyb cz,,c:\windows\command\keybrd2.sys
Typický problém:
Má být zobrazeno:
Řešení: Odremovat češtinu z CONFIG.SYS a AUTOEXEC.BAT !
Pro ty, co se jim to nikdy nezobrazuje dobře je zde tabulka českých kódů:
Nyní už pro ty zvědavé, co stále mají málo informací, názorná ukázka písmenka
na kartě VGA stand. rozl. DOS 640x480.
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
X | X | ||||||
X | X | ||||||
X | X | ||||||
X | X | X | X | ||||
X | X | ||||||
X | X | X | X | X | |||
X | X | X | X | ||||
X | X | X | X | ||||
X | X | X | X | ||||
X | X | X | X | X | |||
Jistě jste poznali písmenko "á". Ve znakové sadě VGA adaptéru je
zakódováno ve 2 bytech (0,12,24,48,0,120,12,124,204,204,204,118,0,0,0,0).
Zde je příklad v BORLAND PASCALU 7.0:
program kapicka; uses crt,dos; var r : registers; a : array[1..336] of byte; i : word; BEGIN i:=0; repeat a[1+i]:=255; a[2+i]:=0; a[3+i]:=0; a[4+i]:=8; a[5+i]:=28; a[6+i]:=60; a[7+i]:=62; a[8+i]:=126; a[9+i]:=126; a[10+i]:=60; a[11+i]:=0; a[12+i]:=0; a[13+i]:=0; a[14+i]:=0; a[15+i]:=0; a[16+i]:=255; inc(i,16); until i>304; {(0,12,24,48,0,120,12,124,204,204,204,118,0,0,0,0)} { predefinovani znaku "p" jako "dlouhe a"} a[321]:=0; a[322]:=12; a[323]:=24; a[324]:=48; a[325]:=0; a[326]:=120; a[327]:=12; a[328]:=124; a[329]:=204; a[330]:=204; a[331]:=204; a[332]:=118; a[333]:=0; a[334]:=0; a[335]:=0; a[336]:=0; { zavedeni znaku do bloku 1 } r.ah:=$11; r.al:=$00; r.bh:=$10; { 16 bytu na 1 znak } r.bl:=$01; { do ktereho bloku, 0-7 VGA } r.cx:=21; { pocet znaku } r.dx:=92; { ASCII kod prvniho definovaneho znaku } r.es:=seg(a); r.bp:=ofs(a); intr($10,r); { aktivace znaku } r.ah:=$11; r.al:=$03; r.bl:=01; intr($10,r); readln; { puvodni stav } r.ah:=$11; r.al:=$03; r.bl:=0; intr($10,r); {textmode(c80);} END.