Ascii-koodaustaulukon rakenne. ASCII-koodaus (amerikkalainen standardikoodi tiedonvaihtoon) - latinalaisten aakkosten perustekstikoodaus

Jokaisella tietokoneella on omat merkit, jotka se toteuttaa. Tämä sarja sisältää 26 isoa ja pientä kirjainta, numeroa ja erikoismerkkejä (piste, välilyönti jne.). Kun symboleja muunnetaan kokonaisluvuiksi, niitä kutsutaan koodeiksi. Standardit kehitettiin niin, että tietokoneilla olisi samat koodisarjat.

ASCII-standardi

ASCII (American Standard Code for Information Interchange) on amerikkalainen standardikoodi tiedonvaihtoon. Jokaisessa ASCII-merkissä on 7 bittiä, joten merkkien enimmäismäärä on 128 (taulukko 1). Koodit 0–1F ovat ohjausmerkkejä, eikä niitä tulosteta. Tiedon siirtämiseen tarvitaan monia ei-tulostettavia ASCII-merkkejä. Viesti voi koostua esimerkiksi otsikon alkumerkistä SOH, itse otsikosta ja tekstin alun merkistä STX, itse tekstistä ja tekstin lopun merkistä ETX sekä lähetyksen lopusta. hahmo EOT. Tieto verkon yli kuitenkin välitetään paketteina, jotka itse vastaavat lähetyksen alkamisesta ja lopusta. Joten ei-tulostettavia merkkejä ei käytetä melkein koskaan.

Taulukko 1 - ASCII-kooditaulukko

Määrä Tiimi Merkitys Määrä Tiimi Merkitys
0 NUL Nolla-osoitin 10 DLE Poistu siirtojärjestelmästä
1 SOH otsikon alku 11 DC1 Laitehallinta
2 STX Tekstin alku 12 DC2 Laitehallinta
3 ETX Tekstin loppu 13 DC3 Laitehallinta
4 EOT Lähetyksen loppu 14 DC4 Laitehallinta
5 ACK Pyyntö 15 N.A.K. Vastaanoton vahvistamatta jättäminen
6 BEL Hyväksymisen vahvistus 16 SYN Yksinkertainen
7 B.S. Kellon symboli 17 ETB Lähetyslohkon loppu
8 HT Astu taaksepäin 18 VOI Mark
9 LF Vaakataulukko 19 E.M. Median loppu
A VT Rivikäännös 1A SUB Alaindeksi
B FF Pysty välilehti 1B POISTU Poistu
C CR Sivun käännös 1C FS Tiedoston erotin
D NIIN Vaunun palautus 1D G.S. Ryhmäerotin
E SI. Vaihda lisärekisteriin 1E R.S. Tietueen erotin
SI. Vaihda vakiokoteloon 1F MEILLE Moduulien erotin
Määrä Symboli Määrä Symboli Määrä Symboli Määrä Symboli Määrä Symboli Määrä Symboli
20 tilaa 30 0 40 @ 50 P 60 . 70 s
21 ! 31 1 41 A 51 K 61 a 71 q
22 32 2 42 B 52 R 62 b 72 r
23 # 33 3 43 C 53 S 63 c 73 s
24 φ 34 4 44 D 54 T 64 d 74 t
25 % 35 5 45 E 55 JA 65 e 75 Ja
26 & 36 6 46 F 56 V 66 f 76 v
27 37 7 47 G 57 W 67 g 77 w
28 ( 38 8 48 H 58 X 68 h 78 x
29 ) 39 9 49 minä 59 Y 69 i 70 y
2A 3A ; 4A J 5A Z 6A j 7A z
2B + 3B ; 4B K 5B [ 6B k 7B {
2C 3C < 4C L 5C \ 6C l 7C |
2D 3D = 4D M 5D ] 6D m 7D }
2E 3E > 4E N 5E 6E n 7E ~
2F / 3F g 4F O 5F _ 6F o 7F DEL

Unicode standardi

Edellinen koodaus on hyvä englannin kielelle, mutta se ei ole kätevä muille kielille. Esimerkiksi saksassa on umlautit ja ranskassa yläindeksit. Joillakin kielillä on täysin erilaiset aakkoset. Ensimmäinen yritys laajentaa ASCII:ta oli IS646, joka laajensi aiempaa koodausta 128 lisämerkillä. Lisättiin latinalaisia ​​kirjaimia viivoineen ja diakriittisinä ja sai nimen - Latin 1. Seuraava yritys oli IS 8859 - joka sisälsi koodisivun. Myös pidennysyrityksiä yritettiin, mutta tämä ei ollut yleistä. UNICODE-koodaus luotiin (on 10646). Koodauksen ideana on antaa jokaiselle merkille yksi vakio 16-bittinen arvo, jota kutsutaan - koodi osoitin. Kaikkiaan osoittimia on 65536. Tilan säästämiseksi käytimme Latin-1-koodeja 0 -255, jolloin ASII vaihdettiin helposti UNICODE:ksi. Tämä standardi ratkaisi monia ongelmia, mutta ei kaikkia. Uusien sanojen saapumisen vuoksi esimerkiksi japanin kielelle on tarpeen lisätä termien määrää noin 20 tuhannella. Myös pistekirjoitus on tarpeen.

Kuten tiedät, tietokone tallentaa tiedot binäärimuodossa esittäen sen ykkösten ja nollien sarjana. Tietojen muuntamiseksi ihmiselle sopivaan muotoon jokainen yksilöllinen numerosarja korvataan sitä vastaavalla symbolilla, kun se näytetään.

Yksi järjestelmistä binäärikoodien korreloimiseksi painettujen ja ohjausmerkkien kanssa on

Tietotekniikan nykyisellä kehitystasolla käyttäjän ei tarvitse tietää jokaisen tietyn merkin koodia. Yleinen ymmärrys koodauksen suorittamisesta on kuitenkin erittäin hyödyllistä ja joillekin asiantuntijaryhmille jopa välttämätöntä.

Luodaan ASCII

Koodaus kehitettiin alun perin vuonna 1963 ja päivitettiin sitten kahdesti 25 vuoden aikana.

Alkuperäisessä versiossa ASCII-merkkitaulukko sisälsi 128 merkkiä. Myöhemmin ilmestyi laajennettu versio, jossa ensimmäiset 128 merkkiä tallennettiin ja aiemmin puuttuvat merkit määritettiin koodeihin, joissa oli mukana kahdeksas bitti.

Tämä koodaus oli useiden vuosien ajan suosituin maailmassa. Vuonna 2006 Latin 1252 otti johtavan aseman, ja vuoden 2007 lopusta tähän päivään Unicode on pitänyt johtoasemaa vakaasti.

ASCII:n tietokoneesitys

Jokaisella ASCII-merkillä on oma koodinsa, joka koostuu kahdeksasta merkistä, jotka edustavat nollaa tai ykköstä. Pienin luku tässä esityksessä on nolla (kahdeksan nollaa binäärijärjestelmässä), joka on taulukon ensimmäisen elementin koodi.

Taulukon kaksi koodia on varattu vaihtamiseen standardin US-ASCII ja sen kansallisen muunnelman välillä.

Kun ASCII alkoi sisältää 128, vaan 256 merkkiä, yleistyi koodausmuunnos, jossa taulukon alkuperäinen versio tallennettiin ensimmäisiin 128 koodiin 8. bitin nollalla. Taulukon yläosaan (paikat 128-255) tallennettiin kansalliset kirjoitetut merkit.

Käyttäjän ei tarvitse tietää ASCII-merkkikoodeja suoraan. Ohjelmistokehittäjän tarvitsee yleensä tietää vain taulukon elementtinumero laskeakseen koodinsa tarvittaessa binäärijärjestelmän avulla.

Venäjän kieli

Skandinaavisten kielten, kiinan, korean, kreikan jne. koodausten kehittämisen jälkeen 70-luvun alussa Neuvostoliitto aloitti oman versionsa luomisen. Pian kehitettiin 8-bittisen koodauksen versio nimeltä KOI8, joka säilytti ensimmäiset 128 ASCII-merkkikoodia ja varasi saman määrän paikkoja kansallisten aakkosten kirjaimille ja lisämerkeille.

Ennen Unicoden käyttöönottoa KOI8 hallitsi Internetin venäläistä segmenttiä. Koodausvaihtoehtoja oli sekä venäjän että ukrainan aakkosille.

ASCII-ongelmia

Koska elementtien määrä ei edes laajennetussa taulukossa ylittänyt 256:ta, ei ollut mahdollista majoittaa useita eri skriptejä samaan koodaukseen. 90-luvulla "crocozyabr" -ongelma ilmestyi Runetissa, kun venäläisillä ASCII-merkeillä kirjoitetut tekstit näytettiin väärin.

Ongelmana oli, että eri ASCII-koodit eivät vastanneet toisiaan. Muistakaamme, että paikoille 128-255 saattoi sijoittaa erilaisia ​​merkkejä, ja kun kyrillistä koodausta vaihdettiin toiseen, tekstin kaikki kirjaimet korvattiin muilla, joilla oli sama numero eri koodausversiossa.

Nykyinen tila

Unicoden myötä ASCII:n suosio alkoi laskea jyrkästi.

Syynä tähän on se, että uusi koodaus mahdollisti lähes kaikkien kirjoituskielten merkit. Tässä tapauksessa ensimmäiset 128 ASCII-merkkiä vastaavat samoja Unicode-merkkejä.

Vuonna 2000 ASCII oli Internetin suosituin koodaus, ja sitä käytettiin 60 prosentissa Googlen indeksoimista verkkosivuista. Vuoteen 2012 mennessä tällaisten sivujen osuus oli pudonnut 17 prosenttiin, ja Unicode (UTF-8) nousi suosituimman koodauksen tilalle.

ASCII on siis tärkeä osa tietotekniikan historiaa, mutta sen käyttö tulevaisuudessa näyttää lupaamattomalta.

Kutsutaan merkkijoukkoa, jolla tekstiä kirjoitetaan aakkoset.

Aakkosten merkkien määrä on sen tehoa.

Kaava tiedon määrän määrittämiseksi: N = 2b,

missä N on aakkosten teho (merkkien määrä),

b – bittien lukumäärä (symbolin tietopaino).

Aakkoset, joiden kapasiteetti on 256 merkkiä, voivat sisältää melkein kaikki tarvittavat merkit. Tätä aakkosta kutsutaan riittävä.

Koska 256 = 2 8, silloin 1 merkin paino on 8 bittiä.

Mittayksikkö 8 bittiä sai nimen 1 tavu:

1 tavu = 8 bittiä.

Tietokonetekstin jokaisen merkin binäärikoodi vie 1 tavun muistia.

Miten tekstitieto esitetään tietokoneen muistissa?

Tavu-tavuisen merkkikoodauksen mukavuus on ilmeistä, koska tavu on pienin osoitettavissa oleva muistin osa ja siksi prosessori voi käyttää jokaista merkkiä erikseen käsitellessään tekstiä. Toisaalta 256 merkkiä on varsin riittävä määrä edustamaan monenlaista symbolista tietoa.

Nyt herää kysymys, mikä kahdeksanbittinen binaarikoodi kullekin merkille määritetään.

On selvää, että tämä on ehdollinen asia, voit keksiä monia koodausmenetelmiä.

Kaikki tietokoneen aakkosten merkit on numeroitu 0 - 255. Jokainen numero vastaa kahdeksan bitin binaarikoodia 00000000 - 11111111. Tämä koodi on yksinkertaisesti merkin sarjanumero binäärinumerojärjestelmässä.

Taulukkoa, jossa kaikille tietokoneen aakkosten merkeille on määritetty sarjanumerot, kutsutaan koodaustaulukoksi.

Erityyppiset tietokoneet käyttävät erilaisia ​​koodaustaulukoita.

Taulukosta on tullut PC-tietokoneiden kansainvälinen standardi ASCII(lue aski) (American Standard Code for Information Interchange).

ASCII-kooditaulukko on jaettu kahteen osaan.

Vain taulukon ensimmäinen puolisko on kansainvälinen standardi, ts. symbolit numeroilla alkaen 0 (00000000), enintään 127 (01111111).

ASCII-koodaustaulukkorakenne

Sarjanumero

Koodi

Symboli

0 - 31

00000000 - 00011111

Symboleja, joiden numerot ovat 0-31, kutsutaan yleensä ohjaussymboleiksi.
Niiden tehtävänä on ohjata tekstin näyttämistä näytöllä tai tulostamista, äänimerkin antamista, tekstin merkitsemistä jne.

32 - 127

00100000 - 01111111

Pöydän vakioosa (englanniksi). Tämä sisältää latinalaisten aakkosten pienet ja isot kirjaimet, desimaaliluvut, välimerkit, kaikenlaiset hakasulut, kaupalliset ja muut symbolit.
Merkki 32 on välilyönti, ts. tyhjä paikka tekstissä.
Kaikki muut heijastuvat tietyillä merkeillä.

128 - 255

10000000 - 11111111

Taulukon vaihtoehtoinen osa (venäjä).
ASCII-kooditaulukon toisella puoliskolla, jota kutsutaan koodisivuksi (128 koodia alkaen 10000000 ja päättyen numeroon 11111111), voi olla erilaisia ​​vaihtoehtoja, jokaisella vaihtoehdolla on oma numeronsa.
Koodisivulla käytetään ensisijaisesti muita kansallisia aakkosia kuin latinaa. Venäjän kansallisissa koodauksissa venäläisten aakkosten merkit sijoitetaan tähän taulukon osaan.

ASCII-kooditaulukon ensimmäinen puolisko


Huomaa, että koodaustaulukossa kirjaimet (isot ja pienet) on järjestetty aakkosjärjestykseen ja numerot nousevaan järjestykseen. Tätä leksikografisen järjestyksen noudattamista symbolien järjestelyssä kutsutaan aakkosten peräkkäisen koodauksen periaatteeksi.

Venäjän aakkosten kirjaimissa noudatetaan myös peräkkäisen koodauksen periaatetta.

ASCII-kooditaulukon toinen puolisko


Valitettavasti tällä hetkellä on olemassa viisi erilaista kyrillistä koodausta (KOI8-R, Windows. MS-DOS, Macintosh ja ISO). Tästä johtuen venäläisen tekstin siirtämisessä tietokoneelta toiselle, ohjelmistojärjestelmästä toiseen syntyy usein ongelmia.

Kronologisesti yksi ensimmäisistä standardeista venäläisten kirjainten koodaukseen tietokoneissa oli KOI8 ("Information Exchange Code, 8-bit"). Tätä koodausta käytettiin jo 70-luvulla ES-tietokonesarjan tietokoneissa, ja 80-luvun puolivälistä lähtien sitä alettiin käyttää UNIX-käyttöjärjestelmän ensimmäisissä venäläistetyissä versioissa.

90-luvun alusta, MS DOS -käyttöjärjestelmän dominanssiajasta, CP866-koodaus säilyy ("CP" tarkoittaa "koodisivua", "koodisivua").

Apple-tietokoneet, joissa on Mac OS -käyttöjärjestelmä, käyttävät omaa Mac-koodausta.

Lisäksi International Standards Organization (ISO) on hyväksynyt toisen koodauksen nimeltä ISO 8859-5 venäjän kielen standardiksi.

Yleisin tällä hetkellä käytetty koodaus on Microsoft Windows, lyhenne CP1251.

90-luvun lopulta lähtien merkkikoodauksen standardointiongelma on ratkaistu ottamalla käyttöön uusi kansainvälinen standardi, ns. Unicode. Tämä on 16-bittinen koodaus, ts. se varaa 2 tavua muistia jokaiselle merkille. Tietenkin tämä lisää varatun muistin määrää 2 kertaa. Mutta tällainen kooditaulukko sallii jopa 65536 merkin sisällyttämisen. Unicode-standardin täydellinen spesifikaatio sisältää kaikki maailman olemassa olevat, sukupuuttoon kuolleet ja keinotekoisesti luodut aakkoset sekä monet matemaattiset, musiikilliset, kemialliset ja muut symbolit.

Yritetään käyttää ASCII-taulukkoa kuvitellaksesi, miltä sanat näyttävät tietokoneen muistissa.

Sanojen sisäinen esitys tietokoneen muistissa

Joskus käy niin, että toisesta tietokoneesta saatua venäläisten aakkosten kirjaimista koostuvaa tekstiä ei voida lukea - näytön näytöllä näkyy jonkinlainen "abrakadabra". Tämä johtuu siitä, että tietokoneet käyttävät venäjän kielen eri merkkikoodeja.

Unicode (englanniksi Unicode) on merkkien koodausstandardi. Yksinkertaisesti sanottuna tämä on vastaavuustaulukko tekstin merkkien välillä ( , kirjaimet, välimerkkejä) binäärikoodeja. Tietokone ymmärtää vain nollien ja ykkösten sarjan. Jotta se tietää, mitä sen pitäisi tarkalleen näyttää näytöllä, jokaiselle merkille on määritettävä oma yksilöllinen numeronsa. 80-luvulla merkit koodattiin yhteen tavuun eli kahdeksaan bittiin (jokainen bitti on 0 tai 1). Siten kävi ilmi, että yhteen taulukkoon (alias koodaus tai joukko) mahtuu vain 256 merkkiä. Tämä ei välttämättä riitä edes yhdelle kielelle. Siksi ilmestyi monia erilaisia ​​koodauksia, joiden sekaannus johti usein siihen, että ruudulle ilmestyi luettavan tekstin sijasta outoa hölynpölyä. Tarvittiin yksi standardi, josta Unicodesta tuli. Eniten käytetty koodaus on UTF-8 (Unicode Transformation Format), joka käyttää 1-4 tavua edustamaan merkkiä.

Symbolit

Unicode-taulukoiden merkit on numeroitu heksadesimaaliluvuilla. Esimerkiksi kyrillinen iso kirjain M on merkitty U+041C. Tämä tarkoittaa, että se on rivin 041 ja sarakkeen C leikkauskohdassa. Voit yksinkertaisesti kopioida sen ja liittää sen jonnekin. Jotta et turhaisi usean kilometrin luettelossa, sinun tulee käyttää hakua. Kun siirryt symbolisivulle, näet sen Unicode-numeron ja tavan, jolla se on kirjoitettu eri fonteilla. Voit kirjoittaa itse merkin hakupalkkiin, vaikka sen sijaan piirrettäisiin neliö, ainakin selvittääksesi, mikä se oli. Lisäksi tällä sivustolla on erityisiä (ja satunnaisia) samantyyppisiä kuvakkeita, jotka on kerätty eri osioista käytön helpottamiseksi.

Unicode-standardi on kansainvälinen. Se sisältää hahmoja lähes kaikista maailman käsikirjoituksista. Mukaan lukien ne, joita ei enää käytetä. Egyptiläiset hieroglyfit, germaaniset riimut, mayojen kirjoitus, nuolenpääkirja ja muinaisten valtioiden aakkoset. Esitellään myös painojen ja mittojen nimitykset, nuotit ja matemaattiset käsitteet.

Unicode Consortium ei itse keksi uusia merkkejä. Taulukoihin on lisätty ne kuvakkeet, jotka löytävät käyttökelpoisuutensa yhteiskunnassa. Esimerkiksi ruplamerkkiä käytettiin aktiivisesti kuusi vuotta ennen kuin se lisättiin Unicodeen. Emoji-piktogrammeja (hymiöitä) käytettiin myös ensimmäisen kerran laajalti Japanissa ennen kuin ne sisällytettiin koodaukseen. Mutta tavaramerkkejä ja yritysten logoja ei periaatteessa lisätä. Jopa sellaiset yleiset kuin Apple-omena tai Windows-lippu. Tähän mennessä versiossa 8.0 on koodattu noin 120 tuhatta merkkiä.

[8-bittiset koodaukset: ASCII, KOI-8R ja CP1251] Ensimmäiset Yhdysvalloissa luodut koodaustaulukot eivät käyttäneet tavun kahdeksatta bittiä. Teksti esitettiin tavujonona, mutta kahdeksatta bittiä ei otettu huomioon (se käytettiin virallisiin tarkoituksiin).

Taulukosta on tullut yleisesti hyväksytty standardi ASCII(American Standard Code for Information Interchange). ASCII-taulukon 32 ensimmäistä merkkiä (00 - 1F) käytettiin ei-tulostuville merkeille. Ne on suunniteltu ohjaamaan tulostuslaitetta jne. Loput - 20 - 7F - ovat tavallisia (tulostettavia) merkkejä.

Taulukko 1 - ASCII-koodaus

joulukuutaHexlokakuuHiiltyäKuvaus
0 0 000 tyhjä
1 1 001 suunnan alku
2 2 002 tekstin alku
3 3 003 tekstin loppu
4 4 004 lähetyksen loppu
5 5 005 tiedustelu
6 6 006 tunnustaa
7 7 007 kello
8 8 010 askelpalautin
9 9 011 vaakasuora välilehti
10 A 012 uusi rivi
11 B 013 pystysuora välilehti
12 C 014 uusi sivu
13 D 015 vaunun paluu
14 E 016 vaihtaa pois
15 F 017 siirtyä sisään
16 10 020 datalinkin pakoon
17 11 021 laitteen ohjaus 1
18 12 022 laitteen ohjaus 2
19 13 023 laitteen ohjaus 3
20 14 024 laitteen ohjaus 4
21 15 025 negatiivinen tunnustus
22 16 026 synkroninen tyhjäkäynti
23 17 027 transin loppu. lohko
24 18 030 peruuttaa
25 19 031 mediumin loppu
26 1A 032 korvike
27 1B 033 paeta
28 1C 034 tiedostojen erotin
29 1D 035 ryhmän erotin
30 1E 036 tietueen erotin
31 1F 037 yksikön erotin
32 20 040 tilaa
33 21 041 !
34 22 042 "
35 23 043 #
36 24 044 $
37 25 045 %
38 26 046 &
39 27 047 "
40 28 050 (
41 29 051 )
42 2A 052 *
43 2B 053 +
44 2C 054 ,
45 2D 055 -
46 2E 056 .
47 2F 057 /
48 30 060 0
49 31 061 1
50 32 062 2
51 33 063 3
52 34 064 4
53 35 065 5
54 36 066 6
55 37 067 7
56 38 070 8
57 39 071 9
58 3A 072 :
59 3B 073 ;
60 3C 074 <
61 3D 075 =
62 3E 076 >
63 3F 077 ?
joulukuutaHexlokakuuHiiltyä
64 40 100 @
65 41 101 A
66 42 102 B
67 43 103 C
68 44 104 D
69 45 105 E
70 46 106 F
71 47 107 G
72 48 110 H
73 49 111 minä
74 4A 112 J
75 4B 113 K
76 4C 114 L
77 4D 115 M
78 4E 116 N
79 4F 117 O
80 50 120 P
81 51 121 K
82 52 122 R
83 53 123 S
84 54 124 T
85 55 125 U
86 56 126 V
87 57 127 W
88 58 130 X
89 59 131 Y
90 5A 132 Z
91 5B 133 [
92 5C 134 \
93 5D 135 ]
94 5E 136 ^
95 5F 137 _
96 60 140 `
97 61 141 a
98 62 142 b
99 63 143 c
100 64 144 d
101 65 145 e
102 66 146 f
103 67 147 g
104 68 150 h
105 69 151 i
106 6A 152 j
107 6B 153 k
108 6C 154 l
109 6D 155 m
110 6E 156 n
111 6F 157 o
112 70 160 s
113 71 161 q
114 72 162 r
115 73 163 s
116 74 164 t
117 75 165 u
118 76 166 v
119 77 167 w
120 78 170 x
121 79 171 y
122 7A 172 z
123 7B 173 {
124 7C 174 |
125 7D 175 }
126 7E 176 ~
127 7F 177 DEL

Kuten on helppo nähdä, tämä koodaus sisältää vain latinalaisia ​​kirjaimia ja niitä, joita käytetään englannin kielellä. Siellä on myös aritmeettisia ja muita palvelusymboleja. Mutta ei ole venäjän kirjaimia eikä edes erityisiä latinalaisia ​​kirjaimia saksalle tai ranskalle. Tämä on helppo selittää - koodaus on kehitetty nimenomaan amerikkalaiseksi standardiksi. Kun tietokoneita alettiin käyttää kaikkialla maailmassa, muut merkit piti koodata.

Tätä varten päätettiin käyttää kahdeksatta bittiä jokaisessa tavussa. Tämä toi käyttöön 128 muuta arvoa (80:stä FF:iin), joita voitiin käyttää merkkien koodaamiseen. Ensimmäinen kahdeksanbittisistä taulukoista on "laajennettu ASCII" ( Laajennettu ASCII) - sisälsi useita muunnelmia latinalaisista kirjaimista, joita käytetään joissakin Länsi-Euroopan kielissä. Se sisälsi myös muita lisäsymboleja, mukaan lukien pseudografia.

Pseudografisten merkkien avulla voit luoda jonkin verran grafiikkaa näyttämällä vain tekstimerkkejä näytöllä. Esimerkiksi tiedostonhallintaohjelma FAR Manager toimii pseudografian avulla.

Laajennetussa ASCII-taulukossa ei ollut venäläisiä kirjaimia. Venäjä (entinen Neuvostoliitto) ja muut maat loivat omat koodauksensa, jotka mahdollistivat tiettyjen "kansallisten" merkkien esittämisen 8-bittisissä tekstitiedostoissa - Puolan ja Tšekin kielten latinalaiset kirjaimet, kyrilliset (mukaan lukien venäläiset kirjaimet) ja muut aakkoset.

Kaikissa laajalle levinneissä koodauksissa ensimmäiset 127 merkkiä (eli tavun arvo, jonka kahdeksas bitti on yhtä suuri kuin 0) ovat samat kuin ASCII. Joten ASCII-tiedosto toimii jommassakummassa näistä koodauksista; Englannin kielen kirjaimet esitetään samalla tavalla.

Organisaatio ISO(International Standardization Organisation) hyväksyi ryhmän standardeja ISO 8859. Se määrittelee 8-bittiset koodaukset eri kieliryhmille. Joten ISO 8859-1 on laajennettu ASCII-taulukko Yhdysvaltoihin ja Länsi-Eurooppaan. Ja ISO 8859-5 on taulukko kyrillisille aakkosille (mukaan lukien venäjä).

Historiallisista syistä ISO 8859-5 -koodaus ei kuitenkaan juurtunut. Todellisuudessa venäjän kielelle käytetään seuraavia koodauksia:

Koodisivu 866 ( CP866), eli "DOS", eli "vaihtoehtoinen GOST-koodaus". Käytettiin laajasti 90-luvun puoliväliin asti; nyt käytössä rajoitetusti. Käytännössä ei käytetä tekstien jakamiseen Internetissä.
- KOI-8. Kehitetty 70-80-luvulla. Se on yleisesti hyväksytty standardi sähköpostiviestien lähettämiseen Venäjän Internetissä. Sitä käytetään myös laajasti Unix-perheen käyttöjärjestelmissä, mukaan lukien Linux. Venäjälle suunniteltu KOI-8-versio on ns KOI-8R; Muille kyrillisille kielille on versioita (esimerkiksi KOI8-U on ukrainan kielen versio).
- Koodisivu 1251, CP1251,Windows-1251. Microsoftin kehittämä tukemaan venäjän kieltä Windowsissa.

CP866:n tärkein etu oli pseudografisten merkkien säilyminen samoissa paikoissa kuin Extended ASCII:ssa; siksi ulkomaiset tekstiohjelmat, esimerkiksi kuuluisa Norton Commander, voisivat toimia ilman muutoksia. CP866:ta käytetään nyt Windows-ohjelmissa, jotka toimivat tekstiikkunoissa tai koko näytön tekstitilassa, mukaan lukien FAR Manager.

CP866:n tekstit ovat olleet melko harvinaisia ​​viime vuosina (mutta sitä käytetään koodaamaan venäläisiä tiedostonimiä Windowsissa). Siksi viivyttelemme tarkemmin kahdessa muussa koodauksessa - KOI-8R ja CP1251.



Kuten näette, CP1251-koodaustaulukossa venäläiset kirjaimet on järjestetty aakkosjärjestykseen (poikkeuksena kuitenkin E-kirjain). Tämän järjestelyn ansiosta tietokoneohjelmien on erittäin helppo lajitella aakkosjärjestykseen.

Mutta KOI-8R:ssä venäläisten kirjainten järjestys näyttää sattumanvaraiselta. Mutta itse asiassa se ei ole.

Monissa vanhemmissa ohjelmissa 8. bitti katosi tekstiä käsiteltäessä tai lähetettäessä. (Nyt tällaiset ohjelmat ovat käytännössä "kuonneet sukupuuttoon", mutta 80-luvun lopulla - 90-luvun alussa ne olivat yleisiä). Jos haluat saada 7-bittisen arvon 8-bittisestä arvosta, vähennä vain 8 merkittävimmästä numerosta. esimerkiksi E1:stä tulee 61.

Vertaa nyt KOI-8R:ää ASCII-taulukkoon (taulukko 1). Tulet huomaamaan, että venäläiset kirjaimet on sijoitettu selkeään vastaavuuteen latinalaisten kanssa. Jos kahdeksas bitti katoaa, pienet venäläiset kirjaimet muuttuvat isoiksi latinalaisiksi kirjaimille ja isot venäläiset kirjaimet pieniksi latinalaisiksi. Joten KOI-8:ssa E1 on venäläinen "A", kun taas 61 ASCII:ssa on latinalainen "a".

Joten KOI-8 antaa sinun säilyttää venäläisen tekstin luettavuuden, kun 8. bitti katoaa. "Hei kaikille" muuttuu "pRIWET WSEM".

Viime aikoina sekä koodaustaulukon merkkien aakkosjärjestys että luettavuus 8. bitin häviämisen myötä ovat menettäneet ratkaisevan merkityksensä. Nykyaikaisten tietokoneiden kahdeksas bitti ei häviä lähetyksen tai käsittelyn aikana. Ja aakkosellinen lajittelu tehdään koodaus huomioon ottaen, ei pelkästään koodeja vertaamalla. (Muuten, CP1251-koodit eivät ole täysin aakkosjärjestyksessä - E-kirjain ei ole paikallaan).

Koska on olemassa kaksi yleistä koodausta, Internetin kanssa työskennellessäsi (posti, Web-sivustoja selatessasi) voit joskus nähdä merkityksettömän joukon kirjaimia venäjän tekstin sijaan. Esimerkiksi "MINÄ OLEN SBYUFEMHEL." Nämä ovat vain sanoja "kunnioituksella"; mutta ne koodattiin CP1251-koodauksella, ja tietokone pursi tekstin KOI-8-taulukon avulla. Jos samat sanat päinvastoin koodattaisiin KOI-8:aan ja tietokone dekoodaisi tekstin CP1251-taulukon mukaisesti, tulos olisi "U HCHBTSEOYEN".

Joskus käy niin, että tietokone purkaa venäjänkieliset kirjaimet taulukolla, jota ei ole tarkoitettu venäjän kielelle. Sitten venäläisten kirjainten sijasta ilmestyy merkityksetön symbolijoukko (esimerkiksi Itä-Euroopan kielten latinalaiset kirjaimet); niitä kutsutaan usein "crocozybriksi".

Useimmissa tapauksissa nykyaikaiset ohjelmat selviävät Internet-asiakirjojen (sähköpostien ja Web-sivujen) koodausten määrittämisestä itsenäisesti. Mutta joskus ne "sytytyshäiriö", ja sitten voit nähdä outoja venäläisiä kirjaimia tai "krokozyabry". Yleensä tällaisessa tilanteessa oikean tekstin näyttämiseksi näytöllä riittää, että valitset koodauksen manuaalisesti ohjelmavalikosta.

Tässä artikkelissa käytettiin tietoja sivulta http://open-office.edusite.ru/TextProcessor/p5aa1.html.

Sivustolta otettu materiaali: