Ascii -kodbord Ryska tecken. Kodning av textinformation


Hej kära läsare av bloggsidan. Idag kommer vi att prata med dig om var krakozyabren kommer ifrån på webbplatsen och i program, vilka textkodningar som finns och vilka som ska användas. Överväg i detalj historien om deras utveckling, från grundläggande ASCII, liksom dess utökade versioner CP866, KOI8-R, Windows 1251 och slutar med moderna kodningar för Unicode-konsortiet UTF 16 och 8.

För vissa kan den här informationen verka överflödig, men du vet hur många frågor jag får när det gäller de utkrävda krakozyabrarna (inte en läsbar uppsättning tecken). Nu får jag möjlighet att hänvisa alla till texten i denna artikel och självständigt hitta mina jambs. Tja, gör dig redo att ta till dig informationen och försök följa historien.

ASCII - grundläggande textkodning för det latinska alfabetet

Utvecklingen av textkodningar skedde samtidigt med bildandet av IT -branschen, och under denna tid lyckades de genomgå ganska många förändringar. Historiskt sett började det hela med EBCDIC, som inte var euphonious i ryska uttal, vilket gjorde det möjligt att koda bokstäver i det latinska alfabetet, arabiska siffror och skiljetecken med kontrolltecken.

Men ändå bör utgångspunkten för utvecklingen av moderna textkodningar betraktas som den berömda ASCII(American Standard Code for Information Interchange, som på ryska vanligtvis uttalas som "aski"). Den beskriver de första 128 tecknen som oftast används av engelsktalande användare - latinska bokstäver, arabiska siffror och skiljetecken.

Även dessa 128 tecken som beskrivs i ASCII inkluderade några servicetecken som parenteser, hash, asterisker etc. Egentligen kan du själv se dem:

Det är dessa 128 tecken från den ursprungliga ASCII -versionen som blev standarden, och i någon annan kodning kommer du säkert att möta dem och de kommer att stå i den ordningen.

Men faktum är att med hjälp av en byte av information är det möjligt att inte koda 128, utan så många som 256 olika värden (två till åtta lika med 256), därför efter grundversionen av Asuka, en hel serie dök upp utökade ASCII -kodningar, där det förutom 128 grundtecken var möjligt att koda symboler för den nationella kodningen (till exempel ryska).

Här kanske det är värt att säga lite mer om de nummersystem som används i beskrivningen. För det första, som ni alla vet, fungerar datorn bara med siffror i det binära systemet, nämligen med nollor och enor ("Boolean algebra", om någon gick på college eller skola). var och en är en 2 i effekt, med början från noll och upp till två i den sjunde:

Det är inte svårt att förstå att det bara kan finnas 256 möjliga kombinationer av nollor och enor i en sådan konstruktion Det är ganska enkelt att konvertera ett tal från ett binärt system till ett decimaltal. Du behöver bara lägga till alla krafter hos två ovanför vilka det finns sådana.

I vårt exempel är detta 1 (2 till nolleffekten) plus 8 (två till 3), plus 32 (två till femte kraften), plus 64 (till det sjätte), plus 128 (till det sjunde ). Totalen får 233 i decimalnotation. Som du kan se är allt väldigt enkelt.

Men om du tittar noga på tabellen med ASCII -tecken ser du att de representeras i hexadecimal kodning. Till exempel motsvarar en asterisk det hexadecimala talet 2A i Asuka. Du vet säkert att i hexadecimalsystemet, förutom arabiska siffror, används även latinska bokstäver från A (betyder tio) till F (betyder femton).

Tja, för konvertera binärt tal till hexadecimalt ta till följande enkla och intuitiva metod. Varje byte av information är uppdelad i två bitar med fyra bitar, som visas i skärmdumpen ovan. Den där. i varje halv byte kan endast sexton värden (två till den fjärde effekten) kodas i binär, som enkelt kan representeras som ett hexadecimalt tal.

Dessutom, i den vänstra halvan av byten, kommer det att vara nödvändigt att räkna graderna igen från noll, och inte som visas på skärmdumpen. Som ett resultat får vi med några enkla beräkningar att talet E9 är kodat i skärmdumpen. Jag hoppas att förloppet för mitt resonemang och lösningen på detta pussel visade sig vara klart för dig. Tja, nu ska vi faktiskt fortsätta prata om textkodningar.

Utökade versioner av Asuka - CP866 och KOI8 -R -kodningar med pseudografik

Så vi började prata om ASCII, som liksom var en utgångspunkt för utvecklingen av alla moderna kodningar (Windows 1251, Unicode, UTF 8).

Inledningsvis innehöll den bara 128 tecken i det latinska alfabetet, arabiska siffror och något annat där, men i den utökade versionen blev det möjligt att använda alla 256 värden som kan kodas i en byte av information. De där. det blev möjligt att lägga till symboler för bokstäver i ditt språk till Aski.

Här kommer det att bli nödvändigt att avvika igen för att klargöra - varför behöver vi överhuvudtaget kodningar texter och varför det är så viktigt. Symboler på din datorskärm bildas på grundval av två saker - uppsättningar av vektorformer (representationer) av alla typer av tecken (de finns i samfiler) och en kod som låter dig dra ut ur denna uppsättning vektorformer (typsnitt fil) exakt symbolen som måste sättas in på rätt plats.

Det är uppenbart att teckensnitten själva är ansvariga för vektorformerna, men operativsystemet och de program som används i det är ansvariga för kodning. De där. all text på din dator kommer att vara en uppsättning byte, som var och en kodar för ett enda tecken i just denna text.

Programmet som visar denna text på skärmen (textredigerare, webbläsare, etc.), vid kodning av koden, läser kodningen för nästa tecken och letar efter motsvarande vektorform i den nödvändiga teckensnittsfilen, som är ansluten för att visa denna textdokument. Allt är enkelt och trist.

Detta betyder att för att kunna koda alla tecken vi behöver (till exempel från det nationella alfabetet) måste två villkor vara uppfyllda - vektorformen för detta tecken måste vara i det teckensnitt som används och detta tecken kan kodas i utökade ASCII -kodningar i en byte. Därför finns det en hel massa sådana alternativ. Endast för kodning av tecknen i det ryska språket finns det flera sorter av utökad Asuka.

Till exempel dök ursprungligen upp CP866, där det var möjligt att använda tecknen i det ryska alfabetet och det var en utökad version av ASCII.

De där. dess övre del sammanföll helt med den grundläggande versionen av Asuka (128 latinska tecken, siffror och annat skit), som visas på skärmdumpen precis ovan, men redan den nedre delen av tabellen med CP866 -kodning hade vyn som visas på skärmdumpen precis nedanför och får koda ytterligare 128 tecken (ryska bokstäver och alla typer av pseudo-grafik):

Du ser, i den högra kolumnen börjar siffrorna med 8, tk. siffrorna 0 till 7 hänvisar till den grundläggande ASCII -delen (se första skärmdumpen). Den där. den ryska bokstaven "M" i CP866 kommer att ha koden 9C (den ligger i skärningspunkten för motsvarande rad med 9 och kolumnen med talet C i hexadecimal notation), som kan skrivas i en byte av information, och om det finns ett lämpligt teckensnitt med ryska tecken, denna bokstav är utan problem kommer att visas i texten.

Var kom det beloppet ifrån? pseudografik i CP866? Poängen här är att denna kodning för den ryska texten utvecklades tillbaka under de håriga åren, då det inte fanns någon sådan spridning av grafiska operativsystem som det är nu. Och i Dos och liknande textoperativsystem gjorde pseudo-grafik det möjligt att på något sätt diversifiera utformningen av texter och därför finns det CP866 och alla dess andra kamrater från kategorin utökade versioner av Asuka i överflöd i den.

CP866 distribuerades av IBM, men förutom detta utvecklades ett antal kodningar för ryska tecken, till exempel kan denna typ (utökad ASCII) tillskrivas KOI8-R:

Principen för dess användning förblir densamma som för CP866 som beskrivits lite tidigare - varje tecken i texten är kodat med en enda byte. Skärmdumpen visar den andra halvan av KOI8-R-tabellen, sedan den första halvan överensstämmer helt med den grundläggande Asuka, som visas i den första skärmdumpen i den här artikeln.

Bland funktionerna i KOI8-R-kodningen kan det noteras att de ryska bokstäverna i tabellen inte är i alfabetisk ordning, som de till exempel gjorde i CP866.

Om du tittar på den allra första skärmdumpen (av basdelen, som ingår i alla utökade kodningar), kommer du att märka att i KOI8-R finns ryska bokstäver i samma celler i tabellen som bokstäverna i det latinska alfabetet. med dem från den första delen av bordet. Detta gjordes för att göra det lättare att byta från ryska till latinska tecken genom att bara kasta bort en bit (två till den sjunde kraften eller 128).

Windows 1251 - modern version av ASCII och varför krakozyabry kommer ut

Vidareutveckling av textkodningar berodde på att grafiska operativsystem blev allt populärare och behovet av att använda pseudo-grafik i dem försvann med tiden. Som ett resultat uppstod en hel grupp, som i huvudsak fortfarande var utökade versioner av Asuka (ett tecken i texten är kodat med endast en byte av information), men redan utan användning av pseudo-grafiska tecken.

De tillhörde de så kallade ANSI-kodningarna, som utvecklades av American Standards Institute. I vanlig språkbruk användes namnet på det kyrilliska alfabetet också för versionen med stöd för det ryska språket. Ett exempel på detta kan tjäna.

Det skiljde sig positivt från den tidigare använda CP866 och KOI8-R genom att platsen för pseudo-grafiska symboler i den togs av de saknade symbolerna för rysk typografi (förutom accentmärket), liksom symboler som används på slaviska språk nära ryska (ukrainska, vitryska, etc.)):

På grund av ett överflöd av ryska språkkodningar hade teckensnittstillverkare och mjukvarutillverkare ständigt huvudvärk, och vi, kära läsare, fick ofta bort de ökända krakozyabry när det var förvirring med den version som används i texten.

Mycket ofta kom de ut när de skickade och tog emot meddelanden via e-post, vilket innebar skapandet av mycket komplexa omvandlingstabeller, som i själva verket inte kunde lösa detta problem i grunden, och ofta använde användare av korrespondens för att undvika de ökända krakozyaberna vid användning Ryska kodningar som CP866, KOI8-R eller Windows 1251.

Faktum är att krakozyabry som klättrade ut istället för den ryska texten var resultatet av en felaktig användning av kodningen av detta språk, som inte motsvarade den där textmeddelandet ursprungligen kodades.

Om vi ​​till exempel försöker visa tecken som är kodade med CP866 med Windows 1251 -kodtabellen, kommer samma krakozyabry (meningslös uppsättning tecken) att komma ut, helt ersätta meddelandetexten.

En liknande situation uppstår ofta när forum eller bloggar, när text med ryska tecken felaktigt sparas i fel kodning som används som standard på webbplatsen, eller i fel textredigerare som lägger till munkavle i koden som inte är synlig för det blotta ögat.

I slutändan tröttnade många på den här situationen med många kodningar och ständigt växande krakozyabrar, det fanns förutsättningar för skapandet av en ny universell variant som skulle ersätta alla befintliga och slutligen skulle lösa rotproblemet med utseendet på oläsliga texter. Dessutom var det problemet med språk som kinesiska, där språkets tecken var mycket mer än 256.

Unicode - Universella UTF -kodningar 8, 16 och 32

Dessa tusentals tecken från den sydostasiatiska språkgruppen kunde inte beskrivas i en byte information, som tilldelades för kodning av tecken i utökade versioner av ASCII. Som ett resultat ringde ett konsortium Unicode(Unicode - Unicode Consortium) i samarbete med många IT -branschledare (de som producerar programvara, som kodar hårdvara, som skapar teckensnitt), som var intresserade av framväxten av en universell textkodning.

Den första variationen som släpptes i regi av Unicode -konsortiet var UTF 32... Siffran i kodningens namn betyder antalet bitar som används för att koda ett tecken. 32 bitar är 4 byte information som kommer att behövas för att koda ett enda tecken i den nya universella UTF -kodningen.

Som ett resultat kommer samma fil med text som är kodad i den utökade versionen av ASCII och i UTF-32, i det senare fallet, att ha storleken (vikten) fyra gånger mer. Det här är dåligt, men nu har vi möjlighet att koda antalet tecken lika med två till trettio sekunders effekt ( miljarder tecken, som täcker alla nödvändiga värden med en kolossal marginal).

Men många länder med språk i den europeiska gruppen behövde inte använda ett så stort antal tecken alls i kodningen, men när de använde UTF-32 fick de en fyrfaldig ökning av textdokumentens vikt för ingenting, och som ett resultat, en ökning av internettrafiken och lagrad data. Detta är mycket, och ingen hade råd med sådant avfall.

Som ett resultat av utvecklingen av Unicode, UTF-16, som visade sig vara så framgångsrik att den som standard accepterades som basutrymme för alla symboler som vi använder. Den använder två byte för att koda ett tecken. Låt oss se hur det här fallet ser ut.

I Windows -operativsystemet kan du följa sökvägen "Start" - "Program" - "Tillbehör" - "Systemverktyg" - "Symbolkarta". Som ett resultat öppnas en tabell med vektorformer för alla teckensnitt installerade i ditt system. Om du väljer Unicode -teckenuppsättningen i "Ytterligare parametrar" kommer du att kunna se för varje teckensnitt separat hela sortimentet av tecken som ingår i det.

Förresten, genom att klicka på någon av dem kan du se dess två-byte UTF-16-kod bestående av fyra hexadecimala siffror:

Hur många tecken kan kodas i UTF-16 med 16 bitar? 65536 (två till sexton), och det var detta nummer som togs som basutrymme i Unicode. Dessutom finns det sätt att koda med det och cirka två miljoner tecken, men var begränsade till det utökade utrymmet på en miljon tecken text.

Men även den här framgångsrika versionen av Unicode-kodningen gav inte mycket tillfredsställelse för dem som skrev till exempel program endast på engelska, för efter övergången från den utökade versionen av ASCII till UTF-16 fördubblades dokumentets vikt (en byte per ett tecken i Aski och två byte för samma tecken i UTP-16).

Det var just för tillfredsställelse för alla och allt i Unicode -konsortiet som det beslutades att komma med kodning med variabel längd... De kallade det UTF-8. Trots siffran åtta i namnet har den verkligen en variabel längd, d.v.s. varje tecken i texten kan kodas till en sekvens på en till sex byte i längd.

I praktiken används i UTF-8 endast intervallet från en till fyra byte, för bortom fyra byte kod är ingenting ens teoretiskt möjligt att föreställa sig. Alla latinska tecken i den är kodade i en byte, precis som i gamla gamla ASCII.

Vad som är anmärkningsvärt, när det bara kodas det latinska alfabetet, kommer även de program som inte förstår Unicode fortfarande att läsa det som är kodat i UTF-8. De där. den grundläggande delen av Asuka gick precis in i detta hjärnskap av Unicode -konsortiet.

Kyrilliska tecken i UTF -8 är kodade i två byte och till exempel georgiska - i tre byte. Unicode Consortium efter att ha skapat UTF 16 och 8 löste huvudproblemet - nu har vi det finns ett enda kodutrymme i typsnitt... Och nu kan deras producenter bara fylla den med vektorformer av textsymboler baserat på deras styrkor och förmågor. Nu även i set.

I ovanstående "Teckentabell" kan du se att olika teckensnitt stöder olika antal tecken. Vissa Unicode-rika teckensnitt kan vara mycket tunga. Men nu skiljer de sig inte genom att de är skapade för olika kodningar, utan genom att teckensnittstillverkaren har fyllt eller inte fyllt ett enda kodutrymme med vissa vektorformer till slutet.

Krakozyabry istället för ryska bokstäver - hur man fixar

Låt oss nu se hur krakozyabras ser ut istället för texten, eller, med andra ord, hur rätt kodning för den ryska texten väljs. Egentligen är det inställt i programmet där du skapar eller redigerar just denna text, eller kodar med textfragment.

För att redigera och skapa textfiler använder jag personligen en mycket bra, enligt min mening. Det kan dock markera syntaxen för ett hundratal fler programmerings- och markeringsspråk, och har också möjlighet att expandera med hjälp av plugins. Läs en detaljerad granskning av detta fantastiska program på länken.

I toppmenyn i Anteckningar ++ finns det ett alternativ "Kodningar", där du kommer att kunna konvertera den befintliga versionen till den som används som standard på din webbplats:

För en webbplats på Joomla 1.5 och högre, liksom för en blogg på WordPress, för att undvika sprickor, välj alternativet UTF 8 utan BOM... Vad är BOM -prefixet?

Faktum är att när UTP-16-kodningen utvecklades, av någon anledning bestämde de sig för att koppla till den en sådan sak som förmågan att skriva en teckenkod, både i direkt sekvens (till exempel 0A15) och omvänt (150A) . Och för att programmen ska förstå i vilken sekvens att läsa koderna, och uppfanns BOM(Byte Order Mark eller, med andra ord, signatur), som uttrycktes i tillägget av ytterligare tre byte i början av dokumenten.

I UTF-8-kodningen tillhandahålls ingen BOM i Unicode-konsortiet, och därför tillägg av en signatur (dessa mest ökända ytterligare tre byte till början av dokumentet) helt enkelt hindrar vissa program från att läsa koden. Därför bör vi alltid välja alternativet utan BOM (ingen signatur) när vi sparar filer till UTP. Så du går vidare skydda dig från att krypa ut krakozyabrov.

Det som är anmärkningsvärt är att vissa program i Windows inte kan göra detta (de kan inte spara text i UTP-8 utan BOM), till exempel den ökända Windows Notepad. Det sparar dokumentet i UTF-8, men förbereder fortfarande signaturen (tre extra byte) till början. Dessutom kommer dessa byte alltid att vara desamma - läs koden i direkt sekvens. Men på servrar, på grund av denna bagatell, kan ett problem uppstå - krakozyabry kommer ut.

Så på inget sätt använd inte vanligt Windows anteckningsblock för att redigera dokument på din webbplats om du inte vill att krakozyabrs ska se ut. Det bästa och enklaste alternativet, tror jag, är den redan nämnda Notepad ++ -redigeraren, som praktiskt taget inte har några nackdelar och bara består av fördelar.

I Notepad ++, när du väljer en kodning, kommer du att kunna konvertera texten till UCS-2-kodningen, som i sig ligger mycket nära Unicode-standarden. Även i Anteckningar blir det möjligt att koda text i ANSI, d.v.s. i förhållande till det ryska språket kommer det redan att beskrivas av oss strax ovanför Windows 1251. Var kommer denna information ifrån?

Den är registrerad i registret för ditt Windows -operativsystem - vilken kodning att välja för ANSI, vilken att välja för OEM (för det ryska språket kommer det att vara CP866). Om du installerar ett annat standardspråk på din dator kommer dessa kodningar att ersättas med liknande från ANSI- eller OEM -kategorin för samma språk.

När du har sparat dokumentet i den kodning du behöver i Anteckningar ++ eller öppnat dokumentet från webbplatsen för redigering kan du se dess namn i nedre högra hörnet av redigeraren:

För att undvika krakozyabrov, utöver de åtgärder som beskrivs ovan, kommer det att vara användbart att skriva information om denna kodning i rubriken på källkoden på alla sidor på webbplatsen så att det inte uppstår förvirring på servern eller den lokala värden.

I allmänhet används på alla hypertextmarkeringsspråk utom Html en speciell xml -deklaration, som anger textkodningen.

Innan du börjar analysera koden kommer webbläsaren att veta vilken version som används och hur teckenkoderna i detta språk ska tolkas. Men det som är anmärkningsvärt är att om du sparar dokumentet i standardunikoden, kan denna xml-deklaration utelämnas (kodningen kommer att betraktas som UTF-8 om det inte finns någon BOM eller UTF-16 om det finns en BOM).

När det gäller ett HTML -dokument anges kodningen Meta -element, som skrivs mellan öppnings- och stängningshuvudetiketterna:

... ...

Denna post skiljer sig ganska mycket från den som antogs i, men den överensstämmer helt och hållet med att den nya HTML 5 -standarden långsamt introduceras, och den kommer att förstås till 100% korrekt av alla webbläsare som för närvarande används.

I teorin skulle Meta -elementet som indikerar kodningen av HTML -dokumentet vara bättre inställt så högt som möjligt i dokumentets rubrik så att vid tidpunkten för mötet med det första tecknet i texten som inte är från grundläggande ANSI (som alltid läses korrekt och i någon variant), borde webbläsaren redan ha information om hur man tolkar koderna för dessa tecken.

Lycka till! Vi ses snart på sidorna på bloggsidan

du kan titta på fler videor genom att gå till
");">

Du kanske är intresserad

Vad är webbadresser, vad är skillnaden mellan absoluta och relativa länkar för en webbplats
OpenServer är en modern lokal server och ett exempel på hur den används för att installera WordPress på en dator
Vad är Chmod, vilka behörigheter att tilldela filer och mappar (777, 755, 666) och hur man gör det via PHP
Yandex -sökning på webbplatsen och onlinebutiken

Varje dator har sin egen uppsättning symboler, som den implementerar. Denna uppsättning innehåller 26 stora och små bokstäver, siffror och specialtecken (punkt, mellanslag, etc.). Symboler vid översättning till heltal heter koder. Standarder har utvecklats så att datorer har samma uppsättning koder.

ASCII -standard

ASCII (American Standard Code for Inmormation Interchange) är den amerikanska standardkoden för informationsutbyte. Varje ASCII -tecken har 7 bitar, så det maximala antalet tecken är 128 (tabell 1). Koderna 0 till 1F är kontrolltecken som inte skrivs ut. Många icke-utskrivbara ASCII-tecken behövs för att överföra data. Ett meddelande kan till exempel bestå av SOH-rubrikens starttecken, själva rubriken och STX-textens starttecken, själva texten och ETX-slutet av text-tecknet och slutet av överföringstecknet EOT. Men data i nätverket överförs i paket, som själva är ansvariga för början av överföringen och slutet. Så icke-skrivbara tecken används nästan aldrig.

Tabell 1 - ASCII -kodtabell

siffra Kommando Menande siffra Kommando Menande
0 NUL Nollpekare 10 DLE Avsluta överföringssystemet
1 SOH början på rubriken 11 DC1 Enhetshantering
2 STX Början av text 12 DC2 Enhetshantering
3 ETX Slut på text 13 DC3 Enhetshantering
4 EOT Sändningens slut 14 DC4 Enhetshantering
5 ACK Förfrågan 15 NAK Icke-bekräftelse av antagning
6 BEL Bekräftelse av antagning 16 SYN Enkel
7 BS Klocksymbol 17 ETB Slut på överföringsblock
8 HT Inryck tillbaka 18 BURK Notera
9 LF Horisontell flik 19 EM Slut på media
A VT Linjeöversättning 1A SUB Index
B FF Vertikal flik 1B ESC Produktion
C CR Översättning av sidan 1C FS Filavskiljare
D Vagnretur 1D GS Gruppavskiljare
E SI Växlar till ytterligare register 1E Rs Skivavskiljare
SI Byt till standardregister 1F USA Modulavskiljare
siffra Symbol siffra Symbol siffra Symbol siffra Symbol siffra Symbol siffra Symbol
20 Plats 30 0 40 @ 50 P 60 . 70 sid
21 ! 31 1 41 A 51 F 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 OCH 65 e 75 och
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 I 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 -standard

Den tidigare kodningen är bra för engelska, men inte bekväm för andra språk. Till exempel, på tyska finns det umlauts, och på franska finns det överskrift. Vissa språk har helt olika alfabet. Det första försöket att utöka ASCII var IS646, som utökade den tidigare kodningen med ytterligare 128 tecken. Lade till latinska bokstäver med streck och diakritik, och fick namnet - latin 1. Nästa försök var IS 8859 - som innehöll en kodsida. Det fanns fortfarande försök till förlängningar, men detta var inte universellt. UNICODE -kodning skapades (är 10646). Tanken bakom kodningen är att tilldela varje tecken ett enda konstant 16 -bitars värde, som kallas - kodpekare... Det finns totalt 65536 tips. För att spara utrymme använde vi Latin-1 för koder 0-255, vilket enkelt ändrade ASII till UNICODE. Denna standard löste många problem, men inte alla. I samband med ankomsten av nya ord, till exempel för det japanska språket, måste du öka antalet termer med cirka 20 tusen. Du måste också inkludera punktskrift.

Unicode (engelska Unicode) är en teckenkodningsstandard. Enkelt uttryckt är detta en korrespondenstabell för texttecken (, bokstäver, skiljetecken) binära koder. Datorn förstår bara sekvensen av nollor och enor. För att han ska veta vad han exakt ska visa på skärmen är det nödvändigt att tilldela varje tecken ett unikt nummer. På åttiotalet kodades tecken i en byte, det vill säga i åtta bitar (varje bit är 0 eller 1). Således visade det sig att en tabell (aka kodning eller uppsättning) bara kan rymma 256 tecken. Detta kanske inte räcker ens för ett språk. Därför dök många olika kodningar upp, förvirring som ofta ledde till att det i stället för den läsbara texten dök upp några konstiga krakozyabry på skärmen. En enda standard krävdes, vilket blev Unicode. Den mest använda kodningen är UTF-8 (Unicode Transformation Format), som använder 1 till 4 byte för att visa ett tecken.

Symboler

Tecken i Unicode -tabeller är numrerade med hexadecimala tal. Till exempel betecknas den kyrilliska versalen M U + 041C. Det betyder att den står i skärningspunkten mellan linje 041 och kolumn C. Den kan helt enkelt kopieras och sedan klistras in någonstans. För att inte leta igenom en mångkilometer lista bör du använda sökningen. När du har angett symbolsidan ser du dess nummer i Unicode och hur det ritas med olika teckensnitt. Du kan också köra själva skylten in i sökfältet, även om en ruta istället dras, åtminstone för att ta reda på vad det var. På denna webbplats finns också speciella (och - slumpmässiga) uppsättningar av samma typ av ikoner, samlade från olika sektioner, för enkel användning.

Unicode -standarden är internationell. Den innehåller tecken från nästan alla manus i världen. Inklusive de som inte längre används. Egyptiska hieroglyfer, germanska runor, maya -skrift, kilskrift och alfabet i gamla stater. Presenteras och beteckningen av mått och vikter, musikalisk notation, matematiska begrepp.

Unicode -konsortiet själv uppfinner inte nya karaktärer. De ikoner som hittar sin tillämpning i samhället läggs till i tabellerna. Till exempel användes rubelskylten aktivt i sex år innan det lades till Unicode. Emoji -piktogram (uttryckssymboler) användes också först i stor utsträckning i Japan och innan de inkluderades i kodningen. Men varumärken och företagslogotyper läggs i princip inte till. Även lika vanligt som Apple -äpplet eller Windows -flaggan. Idag, i version 8.0, är ​​cirka 120 tusen tecken kodade.

Låt oss komma ihåg några fakta vi vet:

Uppsättningen av symboler som används för att skriva text kallas alfabetet.

Antalet tecken i alfabetet är dess kardinalitet.

Formeln för att bestämma mängden information: N = 2 b,

där N är alfabetets kardinalitet (antal tecken),

b - antal bitar (teckenets informationsvikt).

256-tecken alfabetet rymmer nästan alla tecken du behöver. Ett sådant alfabet kallas tillräckligt.

Eftersom 256 = 2 8 , då är vikten av 1 tecken 8 bitar.

8-bitarsenheten fick namnet 1 byte:

1 byte = 8 bitar.

Den binära koden för varje tecken i datortext tar upp 1 byte minne.

Hur representeras textinformation i datorns minne?

Kodning innebär att varje tecken tilldelas en unik decimalkod från 0 till 255 eller motsvarande binär kod från 00000000 till 11111111. Således skiljer en person tecken efter sin stil och en dator - genom sin kod.

Bekvämligheten med bytekodning av tecken är uppenbar, eftersom en byte är den minsta adresserbara delen av minnet och därför kan processorn komma åt varje tecken separat och utföra textbehandling. Å andra sidan är 256 tecken ett tillräckligt antal för att representera en mängd olika teckeninformation.

Nu uppstår frågan, vilken typ av åtta-bitars binär kod som ska tilldelas varje tecken.

Det är klart att detta är en villkorlig fråga, du kan hitta på många kodningsmetoder.

ASCII -bordet blev den internationella standarden för PC (läs asci) (American Standard Code for Information Interchange).

Den internationella standarden är bara den första halvan av tabellen, d.v.s. tecken med siffror från 0 (00000000) till 127 (01111111).

Serienummer

Symbol

00000000 - 00011111


Deras funktion är att styra processen att visa text på skärmen eller skriva ut, ge en ljudsignal, markera text, etc.

32 - 127

00100000 - 01111111


128 - 255

10000000 - 11111111


Den andra halvan av ASCII -kodtabellen, kallad kodsida (128 koder, från 10000000 och slutande med 11111111), kan ha olika varianter, varje variant har sitt eget nummer.


Jag uppmärksammar det faktum att i kodningstabellen är bokstäver (stora och små bokstäver) ordnade i alfabetisk ordning och siffror ordnas i stigande ordningsföljd. Denna efterlevnad av den lexikografiska ordningen i teckenarrangemang kallas principen för sekventiell kodning av alfabetet.


För närvarande är den vanligaste kodningen Microsoft Windows, förkortat som CP1251.

Sedan slutet av 90 -talet har problemet med att standardisera teckenkodning lösts genom införandet av en ny internationell standard som heter Unicode. ... Detta är en 16-bitars kodning dvs. det tilldelar 2 byte minne för varje tecken. Naturligtvis fördubblar detta mängden minne som används. Men å andra sidan tillåter en sådan kodtabell att inkludera upp till 65536 tecken. Den fullständiga specifikationen av Unicode -standarden inkluderar alla befintliga, utdöda och konstgjorda alfabet i världen, liksom många matematiska, musikaliska, kemiska och andra symboler.

Låt oss försöka använda en ASCII -tabell för att föreställa oss hur ord kommer att se ut i datorns minne.

Orden

Minne

01100110

01101001

01101100

01100101

01100100

01101001

01110011

01101011

När textinformation matas in i en dator kodas tecken (bokstäver, siffror, tecken) med olika kodningssystem, som består av en uppsättning kodtabeller som finns på motsvarande sidor i standarderna för kodning av textinformation. I sådana tabeller tilldelas varje tecken en specifik numerisk kod i hexadecimal eller decimal notation, det vill säga kodtabeller speglar korrespondensen mellan teckenbilder och numeriska koder och är utformade för att koda och avkoda textinformation. När du skriver in textinformation med ett datortangentbord kodas varje inmatningstecken, det vill säga det omvandlas till en numerisk kod; när textinformation matas ut till en datorutmatningsenhet (display, skrivare eller plotter), byggs dess bild med hjälp av numerisk kod för tecknet. Tilldelningen av en specifik numerisk kod till en symbol är resultatet av ett avtal mellan respektive organisationer i olika länder. För närvarande finns det ingen enda universell kodtabell som uppfyller bokstäverna i olika länders alfabet.

Moderna kodtabeller inkluderar internationella och nationella delar, det vill säga de innehåller bokstäver i de latinska och nationella alfabetet, siffror, räkne- och skiljetecken, matematiska och kontrolltecken, pseudo-grafiska symboler. Internationell del av kodtabellen baserad på standarden ASCII (American Standard Code for Information Interchange), kodar den första halvan av tecken i kodtabellen med numeriska koder från 0 till 7 F 16, eller i decimalnotering från 0 till 127. Koder från 0 till 20 16 (0? 32 10) tilldelas funktionstangenterna (F1, F2, F3, etc.) på PC -tangentbordet. I fig. 3.1 visar den internationella delen av kodtabellerna baserat på standarden ASCII. Tabellceller är numrerade i decimal respektive hexadecimal notation.

Fig 3.1. Internationell del av kodtabellen (standard ASCII) med cellnummer presenterade i decimal (a) och hexadecimalt (b) nummersystem


Den nationella delen av kodtabellerna innehåller koder för de nationella alfabeten, som också kallas teckenuppsättningstabellen (teckenuppsättning).

För närvarande, för att stödja bokstäverna i det ryska alfabetet (kyrilliska), finns det flera kodtabeller (kodningar) som används av olika operativsystem, vilket är en betydande nackdel och i vissa fall leder till problem i samband med avkodningen av det numeriska teckenvärden. Tabell 3.1 listar namnen på kodsidor (standarder), som innehåller kodtabellerna (kodningarna) för det kyrilliska alfabetet.

Tabell 3.1

En av de första standarderna för kodning av det kyrilliska alfabetet på datorer var KOI8-R-standarden. Den nationella delen av kodtabellen för denna standard visas i fig. 3.2.

Ris. 3.2. Nationell del av kodtabellen för KOI8-R-standarden


För närvarande används också kodtabellen på CP866 -sidan i standarden för kodning av textinformation som används i operativsystemet. MS DOS eller session MS DOS för att koda det kyrilliska alfabetet (fig. 3.3, a).

Ris. 3.3. Den nationella delen av kodtabellen, som finns på CP866 -sidan (a) och på CP1251 -sidan (b) i kodningsstandarden för textinformation


För närvarande finns den mest använda kodtabellen för kodning av det kyrilliska alfabetet på CP1251 -sidan i motsvarande standard, som används i operativsystem i familjen Windows företag Microsoft(fig. 3.2, b). I alla kodtabeller som presenteras, förutom standardtabellen Unicode, 8 binära siffror (8 bitar) tilldelas för att koda ett tecken.

I slutet av förra seklet dök en ny internationell standard upp Unicode, där ett tecken representeras av en tvåbytes binär kod. Tillämpningen av denna standard är en fortsättning på utvecklingen av en universell internationell standard som gör det möjligt att lösa problemet med kompatibilitet mellan nationella teckenkodningar. Med denna standard kan 2 16 = 65536 olika tecken kodas. I fig. 3.4 är kodtabellen 0400 (ryska alfabetet) för standarden Unicode.

Ris. 3.4. Kodtabell 0400 i Unicode -standarden


Låt oss förklara vad som har sagts om kodning av textinformation genom ett exempel.

Exempel 3.1

Koda ordet "Dator" som en sekvens av decimal- och hexadecimaltal med CP1251 -kodningen. Vilka tecken som visas i kodtabellerna CP866 och KOI8-R när du använder den mottagna koden.

Sekvenser av hexadecimala och binära koder för ordet "Dator" baserat på CP1251 -kodningstabellen (se figur 3.3, b) kommer att se ut så här:

Denna kodsekvens i CP866- och KOI8-R-kodningarna kommer att visa följande tecken:

För att konvertera ryskspråkiga textdokument från en textkodningsstandard till en annan används speciella program - omvandlare. Omvandlare är vanligtvis inbyggda i andra program. Ett exempel skulle vara webbläsarprogrammet - Internet Explorer (IE), som har en inbyggd omvandlare. Webbläsarprogrammet är ett speciellt program för visning av innehåll webbsidor i det globala datornätverket Internet. Låt oss använda det här programmet för att bekräfta resultatet av att symboler visas i exempel 3.1. För att göra detta kommer vi att utföra följande åtgärder.

1. Starta Anteckningar -programmet (NotePad). Anteckningar program i operativsystemet Windows XP startas med kommandot: [Button Start- Program - Standard - Anteckningsblock]. I det öppnade Anteckningsblock -fönstret skriver du ordet "Dator" med hjälp av syntaxen för markeringsspråket för hypertextdokument - HTML (Hyper Text Markup Language). Detta språk används för att skapa dokument på Internet. Texten ska se ut så här:

Compywater

, var

och

taggar (specialkonstruktioner) för språket Html för att markera rubriker. I fig. 3.5 visar resultatet av dessa åtgärder.

Ris. 3.5. Visar text i ett anteckningsblock -fönster


Låt oss spara den här texten genom att utföra kommandot: [Arkiv - Spara som ...] i motsvarande mapp på datorn, när vi sparar texten kommer vi att tilldela filen ett namn - Ungefär med filtillägget. html.

2. Kör programmet Internet Explorer, genom att utföra kommandot: [Knapp Start- Program - Internet Explorer]. När programmet startar visas fönstret i fig. 3.6

Ris. 3.6. Fönster för åtkomst offline


Välj och aktivera knappen Off-line i detta fall kommer datorn inte att ansluta till det globala Internet. Programfönstret visas Microsoft Internet Explorer, visas i fig. 3.7.

Ris. 3.7. Microsoft Internet Explorer huvudfönster


Kör följande kommando: [Arkiv - Öppna], ett fönster visas (bild 3.8) där du måste ange filnamnet och klicka på OK eller tryck på knappen Översikt… och hitta filen App.html.

Ris. 3.8. Öppet fönster


Huvudfönstret i Internet Explorer tar formen som visas i fig. 3.9. Fönstret visar ordet "Dator". Vidare använder du programmets toppmeny Internet Explorer, kör följande kommando: [Visa - Kodning - kyrilliskt (DOS)]. Efter att ha utfört detta kommando i programfönstret Internet Ехplorer symbolerna som visas i fig. 3.10. När du utför kommandot: [View - Encoding - Cyrillic (KOI8-R)] i programfönstret Internet Explorer symbolerna som visas i fig. 3.11.

Ris. 3.9. Tecken som visas vid kodning av CP1251


Ris. 3.10. Tecken som visas när CP866 -kodningen är aktiverad för kodsekvensen som representeras i CP1251 -kodningen


Ris. 3.11. Tecken som visas när KOI8-R-kodningen är påslagen för kodsekvensen som representeras i CP1251-kodningen


Således erhålls med programmet Internet Explorer teckensekvenserna sammanfaller med teckensekvenserna erhållna med användning av CP866- och KOI8-R-kodtabellerna i exempel 3.1.

3.2. Kodning av grafisk information

Grafisk information som presenteras i form av ritningar, fotografier, diabilder, rörliga bilder (animation, video), diagram, ritningar, kan skapas och redigeras med en dator, medan den är korrekt kodad. För närvarande finns det ett ganska stort antal applikationer för behandling av grafisk information, men de implementerar alla tre typer av datorgrafik: raster, vektor och fraktal.

Om du tittar närmare på den grafiska bilden på datorskärmen kan du se ett stort antal flerfärgade prickar (pixlar - från engelska. pixel, utbildad från bildelement - bildelement), som, när de sätts ihop, och bildar en given grafisk bild. Av detta kan vi dra slutsatsen: en grafisk bild i en dator är kodad på ett visst sätt och måste presenteras i form av en grafisk fil. Filen är den huvudsakliga strukturella enheten för att organisera och lagra data i en dator och bör i detta fall innehålla information om hur man ska representera denna uppsättning punkter på bildskärmen.

Filer som skapats på grundval av vektorgrafik innehåller information i form av matematiska relationer (matematiska funktioner som beskriver linjära samband) och motsvarande data om hur man ritar en bild av ett objekt med hjälp av linjesegment (vektorer) när den visas på en datorskärm .

Filer som skapats på grundval av rastergrafik förutsätter lagring av data om varje enskild punkt i bilden. För att visa rastergrafik krävs inga komplexa matematiska beräkningar, det räcker med att bara få data om varje punkt i bilden (dess koordinater och färg) och visa dem på datorskärmen.

I processen för kodning av en bild utförs dess rumsliga provtagning, det vill säga bilden är uppdelad i separata punkter och en färgkod (gul, röd, blå, etc.) tilldelas varje punkt. För att koda varje punkt i en färggrafisk bild tillämpas principen om sönderdelning av en godtycklig färg i dess huvudkomponenter, som är tre huvudfärger: röd (det engelska ordet Röd, betecknas med bokstaven TILL), grön (Grön, betecknas med bokstaven G), blå (Blå, beteckna med bok V). Varje punktfärg som uppfattas av det mänskliga ögat kan erhållas genom additiv (proportionell) tillsats (blandning) av de tre primära färgerna - rött, grönt och blått. Detta kodningssystem kallas ett färgsystem. RGB. Grafikfiler som använder färgsystemet RGB, representerar varje punkt i bilden som en färgtriplet - tre numeriska värden R, G. och V, motsvarande intensiteten i röda, gröna och blå färger. Kodningen av en grafisk bild utförs med olika tekniska medel (skanner, digitalkamera, digital videokamera, etc.); resultatet är en bitmapp. Vid återgivning av färggrafikbilder på en färgdatorskärm erhålls färgen på varje punkt (pixel) på en sådan bild genom att blanda tre primära färger R, G. och B.

Kvaliteten på en rasterbild bestäms av två huvudparametrar - upplösningen (antalet punkter horisontellt och vertikalt) och färgpaletten som används (antalet specificerade färger för varje punkt i bilden). Upplösningen ställs in genom att ange antalet punkter horisontellt och vertikalt, till exempel 800 med 600 punkter.

Det finns ett samband mellan antalet färger som anges för en punkt i en rasterbild och mängden information som måste tilldelas för att lagra färgen på en punkt, som bestäms av förhållandet (R. Hartleys formel):

var I- mängden information. N - antalet färger som ges till punkten.

Mängden information som krävs för att lagra färgen på en prick kallas också färgdjup eller färgkvalitet.

Så om antalet färger som anges för bildpunkten är N = 256, blir mängden information som krävs för att lagra den (färgdjup) i enlighet med formel (3.1) lika med I= 8 bitar.

Datorer använder olika grafiska visningslägen för att visa grafisk information. Det bör noteras här att förutom bildskärmens grafiska läge finns det också ett textläge, där bildskärmen konventionellt är uppdelad i 25 rader med 80 tecken per rad. Dessa grafiklägen kännetecknas av bildskärmens upplösning och färgkvalitet (färgdjup). För att ställa in grafikläget för bildskärmen i operativsystemet MS Windows XP du måste utföra kommandot: [Button Start- Inställningar - Kontrollpanelen - Skärm]. I dialogrutan "Egenskaper: Display" (Fig. 3.12), välj fliken "Parametrar" och använd reglaget "Skärmupplösning" för att välja lämplig skärmupplösning (800 x 600 pixlar, 1024 x 768 pixlar etc. ). Med rullgardinsmenyn "Färgkvalitet" kan du välja färgdjup - "Högsta (32 bit)", "Medium (16 bit)", etc., medan antalet färger som tilldelas varje bildpunkt kommer att vara respektive lika med 2 32 (4294967296), 2 16 (65536), etc.

Ris. 3.12. Dialogrutan Egenskaper för display


För att implementera vart och ett av bildskärmens grafiska lägen krävs en viss informationsvolym i datorns videominne. Obligatorisk informationsvolym för videominne (V) bestäms utifrån förhållandet

var TILL - antal bildpunkter på bildskärmen (K = A · B); A - antalet horisontella prickar på bildskärmen; V - antalet vertikala prickar på bildskärmen; I- mängden information (färgdjup).

Så, om bildskärmen har en upplösning på 1024 x 768 pixlar och en palett bestående av 65 536 färger, så blir färgdjupet enligt formel (3.1) I = log 2 65 538 = 16 bitar, bildens antal poäng kommer att vara lika med: K = 1024 x 768 = 786432, och den nödvändiga informationsvolymen för videominne i enlighet med (3.2) kommer att vara lika med

V = 786432 16 bitar = 12582912 bitar = 1572864 byte = 1536 KB = 1,5 MB.

Sammanfattningsvis bör det noteras att förutom de angivna egenskaperna är bildskärmens viktigaste egenskaper de geometriska måtten på dess skärm och bildpunkter. Skärmens geometriska dimensioner bestäms av bildskärmens diagonal. Storleken på bildskärmarnas diagonal är inställd i tum (1 tum = 1 "= 25,4 mm) och kan ta värden som är lika med: 14", 15 ", 17", 21 "etc. Modern bildskärmsproduktionsteknik kan ge en pixelstorlek lika med 0,22 mm.

Således finns för varje bildskärm en fysiskt högsta möjliga skärmupplösning, som bestäms av storleken på dess diagonal och bildpunktens storlek.

Övningar för självuppfyllelse

1.Använda programmet MS Excel konvertera ASCII, CP866, CP1251, KOI8 -R kodtabeller till tabeller i formuläret: skriv stora och latinska och kyrilliska bokstäver i alfabetisk ordning i cellerna i den första kolumnen i tabeller; den tredje kolumnen - bokstäverna som motsvarar koderna i det hexadecimala nummersystemet. Kodvärdena måste väljas från motsvarande kodtabeller.

2. Koda och skriv ner följande ord som en talföljd i decimal och hexadecimal notation:

a) Internet Explorer, b) Microsoft Office; v) CorelDRAW.

Koda med den uppgraderade ASCII -kodningen från föregående övning.

3. Avkoda med hjälp av den moderniserade KOI8-R-kodningstabellen nummersekvensen som skrivs i det hexadecimala nummersystemet:

a) FC CB DA C9 D3 D4 C5 CE C3 C9 D1;

b) EB CF CE C6 CF D2 CD C9 DA CD;

c) FC CB D3 D0 D2 C5 D3 C9 CF CE C9 DA CD.

4. Hur kommer ordet "Cybernetics" skrivet i CP1251-kodningen att se ut när du använder CP866- och KOI8-R-kodningarna? Kontrollera resultaten som erhållits med programmet Internet Explorer.

5. Använd kodtabellen som visas i fig. 3.1 a, avkoda följande kodsekvenser skrivna i binär notation:

a) 01010111 01101111 01110010 01100100;

b) 01000101 01111000 01100011 01100101 01101100;

c) 01000001 01100011 01100011 01100101 01110011 01110011.

6. Bestäm informationsvolymen för ordet "Ekonomi" som kodas med kodtabellerna CP866, CP1251, Unicode och KOI8-R.

7. Bestäm informationsvolymen för filen som erhållits som ett resultat av skanning av en färgbild på 12x12 cm. Upplösningen för skannern som används för att skanna denna bild är 600 dpi. Skannern ställer in bildens pixeldjup till 16 bitar.

Skannerupplösning 600 dpi (dotper tum - dots per inch) bestämmer förmågan hos en skanner med en sådan upplösning att skilja 600 punkter på ett 1 tums segment.

8. Bestäm informationsvolymen för filen som erhållits som ett resultat av skanning av en färgbild i A4 -storlek. Skannern har en upplösning på 1200 dpi. Skannern ställer in bildens pixeldjup till 24 bitar.

9. Bestäm antalet färger i paletten med ett färgdjup på 8, 16, 24 och 32 bitar.

10. Bestäm den erforderliga mängden videominne för bildskärmens grafiska visningslägen 640 x 480, 800 x 600, 1024 x 768 och 1280 x 1024 pixlar vid bildpunktens färgdjup på 8, 16, 24 och 32 bitar. Resultaten är tabellerade. Utveckla i MS Excel ett program för automatisering av beräkningar.

11. Bestäm det maximala antalet färger som kan användas för att lagra en bild på 32 x 32 pixlar om datorn har 2 KB minne tilldelat bilden.

12. Bestäm den maximala upplösningen för en bildskärm med en diagonal längd på 15 "och en pixelstorlek på 0,28 mm.

13. Vilka grafiska lägen för bildskärmsdrift kan ge 64 MB videominne?

Förbränning

I. Informationskodningens historia ……………………………… ..3

II. Informationskodning ………………………………………… 4

III. Kodning av textinformation …………………………… .4

IV. Typer av kodningstabeller ………………………………………… ... 6

V. Beräkning av mängden textinformation ……………………… 14

Lista över begagnad litteratur …………………………………. ..16

I . Informationskodningshistorik

Mänskligheten har använt kryptering (kodning) av text från det ögonblick som den första hemliga informationen dök upp. Innan du har flera metoder för kodning av text som uppfanns i olika stadier i utvecklingen av mänskligt tänkande:

Kryptografi är en hemlig skrift, ett system för att ändra en bokstav i syfte att göra texten obegriplig för de oinvigde;

Morskod eller oregelbunden telegrafkod, där varje bokstav eller tecken representeras av en egen kombination av korta elektriska chips (punkter) och tredubblade varaktighetschips (streck);

teckenspråk är ett teckenspråk som används av personer med hörselnedsättning.

En av de tidigast kända krypteringsmetoderna är uppkallad efter den romerske kejsaren Julius Caesar (1: a århundradet f.Kr.). Denna metod bygger på att varje bokstav i den krypterade texten ersätts med en annan genom att flytta in alfabetet från den ursprungliga bokstaven med ett fast antal tecken, och alfabetet läses i en cirkel, det vill säga efter bokstaven i är a anses vara. Så ordet "byte" när det flyttas med två tecken till höger är kodat med ordet "gvlf". Den omvända processen att avkoda ett givet ord - det är nödvändigt att ersätta varje krypterad bokstav med den andra till vänster om den.

II. Informationskodning

En kod är en uppsättning konventioner (eller signaler) för inspelning (eller överföring) av vissa fördefinierade begrepp.

Informationskodning är processen att bilda en specifik representation av information. I en smalare mening förstås termen "kodning" ofta som en övergång från en form av informationspresentation till en annan, mer bekväm för lagring, överföring eller bearbetning.

Vanligtvis representeras varje bild när den är kodad (ibland säger man - krypterad) av ett separat tecken.

Ett tecken är ett element i en ändlig uppsättning av distinkta element.

I en smalare mening förstås termen "kodning" ofta som en övergång från en form av informationspresentation till en annan, mer bekväm för lagring, överföring eller bearbetning.

Datorn kan behandla textinformation. När de skrivs in i en dator, kodas varje bokstav med ett visst tal, och när de matas ut till externa enheter (skärm eller utskrift) byggs bilder av bokstäver för mänsklig uppfattning med hjälp av dessa siffror. Korrespondensen mellan en uppsättning bokstäver och siffror kallas teckenkodning.

Som regel representeras alla tal i en dator med hjälp av nollor och ettor (och inte tio siffror, som vanligt för människor). Med andra ord fungerar datorer vanligtvis i ett binärt nummersystem, eftersom enheterna för deras behandling är mycket enklare. Att ange siffror i en dator och visa dem för läsning av en person kan utföras i vanlig decimalform, och alla nödvändiga transformationer utförs av program som körs på datorn.

III. Kodning av textinformation

Samma information kan presenteras (kodas) i flera former. Med tillkomsten av datorer blev det nödvändigt att koda alla typer av information som både en enskild person och mänskligheten som helhet har att göra med. Men mänskligheten började lösa problemet med kodning av information långt innan datorerna kom. Människans enorma prestationer - att skriva och räkna - är inget annat än ett system för kodning av tal och numerisk information. Information visas aldrig i sin rena form, den presenteras alltid på något sätt, på något sätt kodas.

Binär kodning är ett av de vanliga sätten att representera information. I datorer, robotar och numeriskt styrda verktygsmaskiner kodas i regel all information som enheten behandlar i form av ord i ett binärt alfabet.

Sedan slutet av 60 -talet har datorer alltmer använts för att behandla textinformation, och för närvarande är huvuddelen av persondatorer i världen (och för det mesta) engagerade i att behandla textinformation. Alla dessa typer av information i en dator representeras i binär kod, det vill säga ett alfabet med en effekt på två används (endast två tecken 0 och 1). Detta beror på att det är bekvämt att representera information i form av en sekvens av elektriska impulser: det finns ingen impuls (0), det finns en impuls (1).

Sådan kodning brukar kallas binär, och de logiska sekvenserna för nollor och sådana själva kallas maskinspråk.

Ur datorns synvinkel består texten av enskilda tecken. Symboler inkluderar inte bara bokstäver (stora eller små bokstäver, latin eller ryska), utan också siffror, skiljetecken, specialtecken som "=", "(", "&", etc., och till och med (var särskilt uppmärksam!) Mellanslag mellan ord.

Texter matas in i datorns minne med tangentbordet. Nycklarna är skrivna med bekanta bokstäver, siffror, skiljetecken och andra symboler. De anger RAM -minnet i binär kod. Detta innebär att varje tecken representeras av en 8-bitars binär kod.

Traditionellt används för att koda ett tecken en mängd information lika med 1 byte, det vill säga I = 1 byte = 8 bitar. Med hjälp av en formel som förbinder antalet möjliga händelser K och mängden information I kan du beräkna hur många olika symboler som kan kodas (förutsatt att symboler är möjliga händelser): K = 2 I = 2 8 = 256, det vill säga, för representation av textinformation kan använda ett alfabet med en kapacitet på 256 tecken.

Detta antal tecken är tillräckligt för att representera textinformation, inklusive stora och små bokstäver i de ryska och latinska alfabetet, siffror, tecken, grafiska symboler, etc.

Kodning innebär att varje tecken tilldelas en unik decimalkod från 0 till 255 eller motsvarande binär kod från 00000000 till 11111111. Således skiljer en person tecken efter sin stil och en dator - genom sin kod.

Bekvämligheten med bytekodning av tecken är uppenbar, eftersom en byte är den minsta adresserbara delen av minnet och därför kan processorn komma åt varje tecken separat och utföra textbehandling. Å andra sidan är 256 tecken ett tillräckligt antal för att representera en mängd olika teckeninformation.

I processen med att visa ett tecken på datorskärmen utförs den omvända processen - avkodning, det vill säga konvertering av teckenkoden till dess bild. Det är viktigt att tilldelningen av en specifik kod till en symbol är en fråga om överenskommelse, som fastställs i kodtabellen.

Nu uppstår frågan, vilken typ av åtta-bitars binär kod som ska tilldelas varje tecken. Det är klart att detta är en villkorlig fråga, du kan hitta på många kodningsmetoder.

Alla tecken i datoralfabetet är numrerade från 0 till 255. Varje nummer motsvarar en åttasiffrig binär kod från 00000000 till 11111111. Denna kod är helt enkelt teckens ordinalnummer i det binära systemet.

IV ... Typer av kodningstabeller

Tabellen där alla tecken i datoralfabetet tilldelas serienummer kallas kodningstabellen.

Olika kodningstabeller används för olika typer av datorer.

ASCII -kodtabellen (American Standard Code for Information Interchange), som kodar den första halvan av tecken med numeriska koder från 0 till 127 (koder från 0 till 32 är inte tilldelade tecken, utan till funktionstangenter), har antagits som en internationell standard.

ASCII -tabellen är uppdelad i två delar.

Den internationella standarden är bara den första halvan av tabellen, d.v.s. tecken med siffror från 0 (00000000) till 127 (01111111).

ASCII -kodningsbordstruktur

Serienummer Koda Symbol
0 - 31 00000000 - 00011111

Symboler med siffror från 0 till 31 kallas vanligtvis kontrolltecken.

Deras funktion är att styra processen att visa text på skärmen eller skriva ut, ge en ljudsignal, markera text, etc.

32 - 127 0100000 - 01111111

Standarddel av bordet (engelska). Detta inkluderar små och stora bokstäver i det latinska alfabetet, decimaler, skiljetecken, alla typer av parenteser, kommersiella och andra symboler.

Tecken 32 är ett mellanslag, d.v.s. tom position i texten.

Alla andra återspeglas i vissa tecken.

128 - 255 10000000 - 11111111

Alternativ del av bordet (ryska).

Den andra halvan av ASCII -kodtabellen, kallad kodsida (128 koder, som börjar med 10000000 och slutar med 11111111), kan ha olika varianter, varje variant har sitt eget nummer.

Kodsidan används främst för att rymma andra nationella alfabet än latin. I ryska nationella kodningar innehåller denna del av tabellen symboler för det ryska alfabetet.

Första halvan av ASCII -tabellen

Uppmärksamheten uppmärksammas på att bokstäverna (stora och små bokstäver) i kodningstabellen är ordnade i alfabetisk ordning och siffror ordnas i stigande ordningsföljd. Denna efterlevnad av den lexikografiska ordningen i teckenarrangemang kallas principen för sekventiell kodning av alfabetet.

För bokstäverna i det ryska alfabetet observeras också principen om sekventiell kodning.

Andra halvan av ASCII -tabellen

Tyvärr finns det för närvarande fem olika kyrilliska kodningar (KOI8-R, Windows. MS-DOS, Macintosh och ISO). På grund av detta uppstår ofta problem med överföring av rysk text från en dator till en annan, från ett programvarusystem till ett annat.

Kronologiskt var en av de första standarderna för kodning av ryska bokstäver på datorer KOI8 ("Information exchange code, 8-bit"). Denna kodning användes redan på 70 -talet på datorer i ES -datorserien, och från mitten av 80 -talet började den användas i de första russifierade versionerna av UNIX -operativsystemet.

Från början av 90 -talet, tiden för dominans av MS DOS -operativsystemet, kvarstår CP866 -kodningen ("CP" står för "Code Page").

Apple -datorer som kör Mac OS använder sin egen Mac -kodning.

Dessutom har International Standards Organization (ISO) godkänt en annan kodning som heter ISO 8859-5 som standard för det ryska språket.

För närvarande är den vanligaste kodningen Microsoft Windows, förkortat som CP1251. Introducerad av Microsoft; med hänsyn till den breda distributionen av operativsystem (OS) och andra mjukvaruprodukter från detta företag i Ryska federationen, fann den en bred distribution.

Sedan slutet av 90 -talet har problemet med standardisering av teckenkodning lösts genom införandet av en ny internationell standard som heter Unicode.

Detta är en 16-bitars kodning dvs. det tilldelar 2 byte minne för varje tecken. Naturligtvis fördubblar detta mängden minne som används. Men å andra sidan tillåter en sådan kodtabell att inkludera upp till 65536 tecken. Den fullständiga specifikationen av Unicode -standarden inkluderar alla befintliga, utdöda och konstgjorda alfabet i världen, liksom många matematiska, musikaliska, kemiska och andra symboler.

Intern representation av ord i datorns minne

med ASCII -tabell

Ibland händer det att en text bestående av bokstäver i det ryska alfabetet, mottagen från en annan dator, inte kan läsas - någon sorts "skräp" syns på bildskärmen. Detta beror på det faktum att datorer använder olika kodning av tecknen i det ryska språket.

Således definieras varje kodning av sin egen kodtabell. Som du kan se från tabellen tilldelas olika tecken till samma binära kod olika tecken i olika kodningar.

Till exempel bildar en sekvens av numeriska koder 221, 194, 204 i CP1251 -kodningen ordet "dator", medan den i andra kodningar kommer att vara en meningslös uppsättning tecken.

Lyckligtvis behöver användaren i de flesta fall inte oroa sig för transkodning av textdokument, eftersom detta görs med speciella konverteringsprogram inbyggda i applikationer.

V ... Beräknar mängden textinformation

Mål 1: Koda ordet ”Rom” med kodningstabellerna KOI8-R och CP1251.

Lösning:

Uppgift 2: Antag att varje tecken är kodat i en byte, uppskatta informationsvolymen för följande mening:

"Min farbror har de mest ärliga reglerna,

Vid allvarlig sjukdom,

Han gav sig respekt

Och jag hade inte kunnat föreställa mig det bättre. "

Lösning: Denna fras har 108 tecken, inklusive skiljetecken, citattecken och mellanslag. Vi multiplicerar detta tal med 8 bitar. Vi får 108 * 8 = 864 bitar.

Mål 3: De två texterna innehåller samma antal tecken. Den första texten är skriven på ryska, och den andra på språket i Naguri -stammen, vars alfabet består av 16 tecken. Vems text innehåller mer information?

Lösning:

1) I = K * a (informationsvolymen i texten är lika med produkten av antalet tecken med informationsvikten för ett tecken).

2) Eftersom båda texterna har samma antal tecken (K), skillnaden beror på informativiteten hos ett tecken i alfabetet (a).

3) 2 a1 = 32, d.v.s. a 1 = 5 bitar, 2 a2 = 16, d.v.s. a 2 = 4 bitar.

4) I 1 = K * 5 bitar, I 2 = K * 4 bitar.

5) Det betyder att texten skriven på ryska är 5/4 gånger mer information.

Uppgift 4: Storleken på ett meddelande som innehåller 2048 tecken var 1/512 av en MB. Bestäm kardinaliteten i alfabetet.

Lösning:

1) I = 1/512 * 1024 * 1024 * 8 = 16384 bitar - informationsvolymen för meddelandet konverterades till bitar.

2) a = I / K = 16384/1024 = 16 bitar - faller på ett tecken i alfabetet.

3) 2 * 16 * 2048 = 65536 tecken - kraften i det alfabet som används.

Uppgift 5: Canons LBP -laserskrivare skriver ut i genomsnitt 6,3 Kbps. Hur lång tid tar det att skriva ut ett 8 -sidigt dokument om det är känt att det i genomsnitt finns 45 rader på en sida, 70 tecken per rad (1 tecken - 1 byte)?

Lösning:

1) Hitta mängden information på 1 sida: 45 * 70 * 8 bitar = 25200 bitar

2) Hitta mängden information på 8 sidor: 25200 * 8 = 201600 bitar

3) Vi tar till enhetliga måttenheter. För att göra detta, översätt Mbits till bitar: 6,3 * 1024 = 6451,2 bit / s.

4) Hitta utskriftstiden: 201600: 6451,2 = 31 sekunder.

Bibliografi

1. Ageev V.M. Information och kodningsteori: diskretisering och kodning av mätinformation. - M.: MAI, 1977.

2. Kuzmin I.V., Kedrus V.A. Grunden för informationsteori och kodning. - Kiev, Vishcha -skolan, 1986.

3. De enklaste metoderna för textkryptering / D.М. Zlatopolsky. - M.: Chistye Prudy, 2007 - 32 sid.

4. Ugrinovich N.D. Informatik och informationsteknik. Lärobok för årskurserna 10-11 / N.D. Ugrinovich. - M.: BINOM. Kunskapslaboratorium, 2003.- 512 sid.

5.http: //school497.spb.edu.ru/uchint002/les10/les.html#n

Självstudiematerial relaterat till föreläsningar 2

Kodning ASCII

ASCII -kodtabell (ASCII - American Standard Code for Information Interchange - American Standard Code for Information Interchange).

Totalt kan 256 olika tecken kodas med ASCII -kodningstabellen (figur 1). Denna tabell är uppdelad i två delar: den huvudsakliga (med koder från OOh till 7Fh) och ytterligare en (från 80h till FFh, där bokstaven h indikerar att koden tillhör det hexadecimala nummersystemet).

Bild 1

För att koda ett tecken från tabellen tilldelas 8 bitar (1 byte). Vid behandling av textinformation kan en byte innehålla koden för ett visst tecken - bokstäver, siffror, skiljetecken, åtgärdstecken, etc. Varje tecken har sin egen kod i form av ett heltal. I det här fallet samlas alla koder i speciella tabeller som kallas kodningstabeller. Med deras hjälp konverteras teckenkoden till dess synliga representation på bildskärmen. Som ett resultat representeras all text i datorns minne som en sekvens av byte med teckenkoder.

Till exempel ordet hej! kommer att kodas enligt följande (tabell 1).

bord 1

Binär kod

Decimal kod

Figur 1 visar tecknen som ingår i standard (engelska) och utökad (rysk) ASCII -kodning.

Första halvan av ASCII -tabellen är standardiserad. Den innehåller kontrollkoder (00h till 20h och 77h). Dessa koder har tagits bort från tabellen eftersom de inte gäller för textelement. Skiljetecken och matematiska tecken finns också här: 2lh - !, 26h - &, 28h - (, 2Bh - +, ..., stora och små latinska bokstäver: 41h - A, 61h - a.

Den andra halvan av tabellen innehåller nationella teckensnitt, pseudo-grafiska symboler från vilka tabeller kan byggas och speciella matematiska tecken. Den nedre delen av kodningstabellen kan bytas ut med lämpliga drivrutiner - hjälpprogram för styrning. Denna teknik låter dig använda flera teckensnitt och deras typsnitt.

Displayen för varje symbolkod måste visa en bild av symbolen på skärmen - inte bara en digital kod, utan en bild som motsvarar den, eftersom varje symbol har sin egen form. Beskrivningen av formen på varje tecken lagras i ett speciellt displayminne - en teckengenerator. Markeringen av en symbol på exempelvis IBM -datorns skärm utförs med hjälp av punkter som bildar en symbolisk matris. Varje pixel i en sådan matris är ett bildelement och kan vara ljus eller mörk. En mörk punkt är kodad med siffran 0, ljus (ljus) - 1. Om du representerar mörka pixlar i matrisfältet på tecknet med en punkt, och ljusa pixlar med en asterisk, kan du grafiskt avbilda symbolens form.

Människor i olika länder använder symboler för att skriva ord på sina modersmål. De flesta applikationer idag, inklusive e-postsystem och webbläsare, är rena 8-bitars, vilket innebär att de bara kan visa och tolka 8-bitars tecken enligt ISO-8859-1-standarden.

Det finns över 256 tecken i världen (inklusive kyrilliska, arabiska, kinesiska, japanska, koreanska och thailändska), och fler och fler tecken dyker upp. Och detta skapar följande luckor för många användare:

Det är inte möjligt att använda tecken från olika kodningsuppsättningar i samma dokument. Eftersom varje textdokument använder sin egen uppsättning kodningar finns det stora svårigheter med automatisk textigenkänning.

Nya symboler dyker upp (till exempel Euro), vilket resulterar i att ISO utvecklar en ny standard ISO-8859-15, som är mycket lik ISO-8859-1-standarden. Skillnaden är följande: från kodningstabellen för den gamla ISO-8859-1-standarden har symboler för beteckning av gamla valutor som för närvarande inte används tagits bort för att ge plats för nyligen uppträdande symboler (t.ex. euro) . Som ett resultat kan användare ha samma dokument på sina skivor, men i olika kodningar. Lösningen på dessa problem är antagandet av en enda internationell uppsättning kodningar som kallas universell kodning eller Unicode.

Kodning Unicode

Standarden föreslogs 1991 av Unicode Consortium, Unicode Inc., en ideell organisation. Användningen av denna standard gör det möjligt att koda ett mycket stort antal tecken från olika skript: i Unicode -dokument kan kinesiska tecken, matematiska tecken, bokstäver i det grekiska alfabetet, latin och kyrilliska alfabetet samexistera, så att byta kodsidor blir onödigt.

Standarden består av två huvudavsnitt: den universella teckenuppsättningen (UCS) och Unicode -transformationsformatet (UTF). Den universella teckenuppsättningen definierar en en-till-en-korrespondens mellan tecken och koder-element i kodutrymmet som representerar icke-negativa heltal. Kodningsfamiljen definierar maskinrepresentationen av en sekvens av UCS -koder.

Unicode -standarden utvecklades med målet att skapa en enhetlig teckenkodning för alla moderna och många gamla skriftspråk. Varje tecken i denna standard är kodat i 16 bitar, vilket gör det möjligt att täcka ett ojämförligt större antal tecken än tidigare accepterade 8-bitars kodningar. En annan viktig skillnad mellan Unicode och andra kodningssystem är att den inte bara tilldelar varje karaktär en unik kod utan också definierar olika egenskaper hos denna karaktär, till exempel:

    typ av tecken (versaler, gemener, siffror, skiljetecken etc.);

    teckenattribut (vänster-till-höger eller höger-till-vänster-display, mellanslag, radbrytning, etc.);

    motsvarande versal eller liten bokstav (för gemener respektive stora bokstäver);

    motsvarande numeriska värde (för numeriska tecken).

Hela kodområdet från 0 till FFFF är uppdelat i flera standardundermängder, som var och en motsvarar antingen ett alfabet för ett visst språk, eller en grupp specialtecken som liknar varandra i sina funktioner. Diagrammet nedan ger en allmän lista över Unicode 3.0 -delmängderna (figur 2).

Bild 2

Unicode -standarden är grunden för lagring och text i många moderna datorsystem. Det är dock inte kompatibelt med de flesta internetprotokoll, eftersom dess koder kan innehålla alla bytevärden, och protokollen använder vanligtvis byte 00 - 1F och FE - FF som overhead. För att uppnå kompatibilitet har flera Unicode-transformationsformat (UTF, Unicode Transformation Formats) utvecklats, varav UTF-8 är det vanligaste idag. Detta format definierar följande regler för att konvertera varje Unicode -kod till en uppsättning byte (en till tre) som är lämpliga för transport med internetprotokoll.

Här betecknar x, y, z bitarna i källkoden som måste extraheras, med början med den minst signifikanta, och matas in i resultatbyte från höger till vänster tills alla angivna positioner är fyllda.

Vidareutveckling av Unicode -standarden är förknippad med tillägg av nya språkplan, dvs. tecken i intervallet 10000 - 1FFFF, 20000 - 2FFFF, etc., där det ska inkludera kodning för skript för döda språk som inte ingår i tabellen ovan. Ett nytt UTF-16-format utvecklades för att koda dessa ytterligare tecken.

Således finns det fyra huvudsakliga sätt att koda Unicode -byte:

UTF-8: 128 tecken är kodade i en byte (ASCII-format), 1920 tecken är kodade i 2 byte ((romerska, grekiska, kyrilliska, koptiska, armeniska, hebreiska, arabiska tecken), 63488 tecken är kodade i 3 byte (kinesiska , Japanska och andra) Resterande 2 147 418 112 tecken (ännu inte använda) kan kodas med 4, 5 eller 6 byte.

UCS-2: Varje tecken representeras av 2 byte. Denna kodning innehåller endast de första 65 535 tecknen från Unicode -formatet.

UTF-16: Detta är ett tillägg till UCS-2 och innehåller 1 114 112 Unicode-tecken. De första 65 535 tecknen representeras av 2 byte, resten av 4 byte.

USC-4: Varje tecken är kodat i 4 byte.

Dec Hex Symbol Dec Hex Symbol
000 00 specialist. NOP 128 80 Ђ
001 01 specialist. SOH 129 81 Ѓ
002 02 specialist. STX 130 82
003 03 specialist. ETX 131 83 ѓ
004 04 specialist. EOT 132 84
005 05 specialist. ENQ 133 85
006 06 specialist. ACK 134 86
007 07 specialist. BEL 135 87
008 08 specialist. BS 136 88
009 09 specialist. FLIK 137 89
010 0Aspecialist. LF 138 8AЉ
011 0Bspecialist. VT 139 8B‹ ‹
012 0Cspecialist. FF 140 8CЊ
013 0Dspecialist. CR 141 8DЌ
014 0Especialist. SÅ 142 8EЋ
015 0Fspecialist. SI 143 8FЏ
016 10 specialist. DLE 144 90 ђ
017 11 specialist. DC1 145 91
018 12 specialist. DC2 146 92
019 13 specialist. DC3 147 93
020 14 specialist. DC4 148 94
021 15 specialist. NAK 149 95
022 16 specialist. SYN 150 96
023 17 specialist. ETB 151 97
024 18 specialist. BURK 152 98
025 19 specialist. EM 153 99
026 1Aspecialist. SUB 154 9Aљ
027 1Bspecialist. ESC 155 9B
028 1Cspecialist. FS 156 9Cњ
029 1Dspecialist. GS 157 9Dќ
030 1Especialist. Rs 158 9Eћ
031 1Fspecialist. USA 159 9Fџ
032 20 koppling SP (mellanslag) 160 A0
033 21 ! 161 A1 Ў
034 22 " 162 A2ў
035 23 # 163 A3Ћ
036 24 $ 164 A4¤
037 25 % 165 A5Ґ
038 26 & 166 A6¦
039 27 " 167 A7§
040 28 ( 168 A8Jo
041 29 ) 169 A9©
042 2A* 170 AAЄ
043 2B+ 171 AB«
044 2C, 172 AC¬
045 2D- 173 AD­
046 2E. 174 AE®
047 2F/ 175 AFЇ
048 30 0 176 B0°
049 31 1 177 B1±
050 32 2 178 B2І
051 33 3 179 B3і
052 34 4 180 B4ґ
053 35 5 181 B5µ
054 36 6 182 B6
055 37 7 183 B7·
056 38 8 184 B8e
057 39 9 185 B9
058 3A: 186 BAє
059 3B; 187 BB»
060 3C< 188 före Kristusј
061 3D= 189 BDЅ
062 3E> 190 VARAѕ
063 3F? 191 Bfї
064 40 @ 192 C0 A
065 41 A 193 C1 B
066 42 B 194 C2 V
067 43 C 195 C3 G
068 44 D 196 C4 D
069 45 E 197 C5 E
070 46 F 198 C6 F
071 47 G 199 C7 Z
072 48 H 200 C8 OCH
073 49 I 201 C9 Th
074 4AJ 202 CA TILL
075 4BK 203 CB L
076 4CL 204 CC M
077 4DM 205 CD H
078 4EN 206 CE O
079 4FO 207 CF NS
080 50 P 208 D0 R
081 51 F 209 D1 MED
082 52 R 210 D2 T
083 53 S 211 D3 Ha
084 54 T 212 D4 F
085 55 U 213 D5 NS
086 56 V 214 D6 C
087 57 W 215 D7 H
088 58 X 216 D8 NS
089 59 Y 217 D9 SCH
090 5AZ 218 DA B
091 5B[ 219 DB NS
092 5C\ 220 DC B
093 5D] 221 DD NS
094 5E^ 222 DE NS
095 5F_ 223 DF JAG ÄR
096 60 ` 224 E0 a
097 61 a 225 E1 b
098 62 b 226 E2 v
099 63 c 227 E3 G
100 64 d 228 E4 d
101 65 e 229 E5 e
102 66 f 230 E6 f
103 67 g 231 E7 s
104 68 h 232 E8 och
105 69 i 233 E9 th
106 6Aj 234 EA Till
107 6Bk 235 EB l
108 6Cl 236 EC m
109 6Dm 237 ED n
110 6En 238 EE O
111 6Fo 239 EF NS
112 70 sid 240 F0 R
113 71 q 241 F1 med
114 72 r 242 F2 T
115 73 s 243 F3
116 74 t 244 F4 f
117 75 u 245 F5 NS
118 76 v 246 F6 c
119 77 w 247 F7 h
120 78 x 248 F8 NS
121 79 y 249 F9 SCH
122 7Az 250 FA b
123 7B{ 251 FB NS
124 7C| 252 FC b
125 7D} 253 FD NS
126 7E~ 254 FE NS
127 7FSpecialist. DEL 255 FF jag är

Windows ASCII -teckenkodstabell.
Beskrivning av specialtecken (kontroll)

Det bör noteras att initialt kontrolltecknen i ASCII -tabellen användes för att tillhandahålla datautbyte via teletyp, datainmatning från hålband och för den enklaste kontrollen av externa enheter.
För närvarande bär de flesta ASCII -kontrolltecknen i tabellen inte längre denna börda och kan användas för andra ändamål.
Koda Beskrivning
NUL, 00Null, tom
SOH, 01Start av rubrik, start av rubrik
STX, 02TeXt, början av texten.
ETX, 03Slutet på TeXt, slutet på texten
EOT, 04Sändningsslut, sändningsslut
ENQ, 05Fråga. Jag ber om bekräftelse
ACK, 06Bekräftelse. jag bekräftar
BEL, 07Klocka, klocka
BS, 08Backspace, gå tillbaka ett tecken
TAB, 09Flik, ​​horisontell flik
LF, 0ALine Feed, line feed.
Nu betecknas det i de flesta programmeringsspråk som \ n
VT, 0BVertikal flik, vertikal flik.
FF, 0CFormflöde, sidmatning, ny sida
CR, 0DVagnretur
Nu betecknas det i de flesta programmeringsspråk som \ r
SÅ, 0ESkift ut, ändra färgen på färgbandet i utskriftsenheten
SI, 0FSkift in, returnera färgen på färgbandet i utskriftsenheten
DLE, 10Data Link Escape, byt kanal till dataöverföring
DC1, 11
DC2, 12
DC3, 13
DC4, 14
Enhetskontroll, symboler för enhetsstyrning
NAK, 15Negativt erkännande, jag erkänner inte.
SYN, 16Synkronisering. Synkroniseringssymbol
ETB, 17Slut på textblock, slutet på textblock
KAN, 18Avbryt, avbryter ett tidigare godkänt
EM, 19Slut på Medium, slutet av databäraren
SUB, 1AErsättning Placeras i stället för en karaktär vars värde förlorades eller förstördes under överföringen
ESC, 1BEscape Escape Sequence
FS, 1CFilavskiljare, filavskiljare
GS, 1DGruppseparator, gruppseparator
RS, 1ERecord Separator, record separator
USA, 1FEnhetsavskiljare, enhetsavskiljare
DEL, 7FRadera, radera det sista tecknet.






2021 gtavrl.ru.