Alle ASCII-tekens. ASCII-codering (Amerikaanse standaardcode voor informatie-uitwisseling) - basistekstcodering voor het Latijnse alfabet

Trouwens, op onze website kunt u elke tekst converteren naar decimaal, hexadecimaal, binaire code met behulp van de online codecalculator.

ASCII-tabel

ASCII (Amerikaanse standaardcode voor informatie-uitwisseling)

Overzichtstabel met ASCII-codes

ASCII Windows-tekencodetabel (Win-1251)

Symbool

specialist. Tabel

specialist. LF (vervoerretour)

specialist. CR( Nieuwe lijn)

koppeling SP (ruimte)

Symbool

Uitgebreide ASCII-codetabel

Symbolen opmaken.

Backspace (retourneer één teken). Geeft aan dat het afdrukmechanisme of de weergavecursor één positie teruggaat.

Horizontale tabellering. Geeft de beweging van de printengine of displaycursor aan naar de volgende voorgeschreven "tabstop".

Lijninvoer. Geeft de beweging van het afdrukmechanisme of de weergavecursor naar het begin aan volgende regel(één regel naar beneden).

Verticale tabellering. Geeft de beweging van het printmechanisme of de displaycursor aan volgende groep lijnen.

Formulierfeed. Geeft de beweging van het printmechanisme of de displaycursor naar de startpositie aan volgende bladzijde, vorm of scherm.

Vervoer terug. Geeft de beweging aan van het afdrukmechanisme of de weergavecursor naar de thuispositie (meest linkse) van de huidige regel.

Data overdracht.

Begin van de rubriek. Wordt gebruikt om het begin van een header te definiëren, die routeringsinformatie of een adres kan bevatten.

Begin van tekst. Toont het begin van de tekst en tegelijkertijd het einde van de titel.

Einde van de tekst. Is van toepassing bij het beëindigen van tekst die begint met het STX-teken.

Navraag. Verzoek om identificatiegegevens (zoals "Wie ben jij?") vanaf een extern station.

Erkennen. Het ontvangende apparaat verzendt dit teken naar de afzender als bevestiging van de succesvolle ontvangst van de gegevens.

Negatieve erkenning. Het ontvangende apparaat verzendt dit teken naar de afzender in geval van weigering (mislukken) van de gegevensontvangst.

Synchronisch/inactief. Gebruikt in gesynchroniseerde transmissiesystemen. Als er geen gegevensoverdracht plaatsvindt, verzendt het systeem voortdurend SYN-symbolen om synchronisatie te garanderen.

Einde van transmissieblok. Geeft het einde van een datablok aan voor communicatiedoeleinden. Wordt gebruikt om in afzonderlijke blokken te splitsen grote volumes gegevens.

Scheidingstekens bij het verzenden van informatie.

Andere symbolen.

Nul. (Geen teken - geen gegevens). Wordt gebruikt voor verzending als er geen gegevens zijn.

Bel (oproep). Wordt gebruikt om alarmapparaten te bedienen.

Uitschuiven. Geeft aan dat alle volgende codewoorden moeten worden geïnterpreteerd volgens de externe tekenset vóór de aankomst van het SI-teken.

Schakel in. Geeft aan dat daaropvolgende codecombinaties moeten worden geïnterpreteerd volgens standaard ingesteld karakters.

Gegevenslink ontsnappen. De betekenis van de volgende tekens wijzigen. Wordt gebruikt voor extra controle of voor het verzenden van een willekeurige combinatie van bits.

DC1, DC2, DC3, DC4

Apparaatbedieningen. Symbolen voor het bedienen van hulpapparaten (speciale functies).

Annuleren. Geeft aan dat gegevens die aan dit teken voorafgaan in een bericht of blok moeten worden genegeerd (meestal als er een fout wordt gedetecteerd).

Einde van Middel. Geeft het fysieke uiteinde van een tape of ander opslagmedium aan

Vervanging. Wordt gebruikt om een ​​foutief of ongeldig teken te vervangen.

Ontsnappen (uitbreiding). Wordt gebruikt om code uit te breiden door aan te geven dat een volgend teken een alternatieve betekenis heeft.

Ruimte. Een niet-afdrukbaar teken dat wordt gebruikt om woorden te scheiden of om het afdrukmechanisme of de cursor één positie vooruit te verplaatsen.

Verwijderen. Wordt gebruikt om het vorige teken in een bericht te verwijderen (wissen).

Laten we enkele feiten onthouden die we kennen:

De set symbolen waarmee tekst wordt geschreven, wordt alfabet genoemd.

Het aantal tekens in een alfabet is de kardinaliteit ervan.

Formule voor het bepalen van de hoeveelheid informatie: N = 2 b,

waarbij N de macht van het alfabet is (aantal tekens),

b - aantal bits (informatiegewicht van het symbool).

Het alfabet met een capaciteit van 256 tekens kan bijna alle benodigde tekens bevatten. Zo'n alfabet wordt voldoende genoemd.

Omdat 256 = 2 8 , dan is het gewicht van 1 teken 8 bits.

De maateenheid 8 bits kreeg de naam 1 byte:

1 byte = 8 bits.

De binaire code van elk teken in computertekst neemt 1 byte geheugen in beslag.

Hoe wordt tekstinformatie weergegeven in het computergeheugen?

Coderen bestaat uit het toekennen van een unieke decimale code van 0 tot 255 aan elk teken, of een overeenkomstige binaire code van 00000000 tot 11111111. Een persoon onderscheidt dus karakters aan de hand van hun omtrek, en een computer aan de hand van hun code.

Het gemak van byte-voor-byte tekencodering ligt voor de hand omdat een byte het kleinste adresseerbare deel van het geheugen is en daarom de processor elk teken afzonderlijk kan benaderen bij het verwerken van tekst. Aan de andere kant is 256 tekens behoorlijk voldoende hoeveelheid om de meest uiteenlopende te vertegenwoordigen symbolische informatie.

Nu rijst de vraag welke acht-bits binaire code aan elk teken moet worden toegewezen.

Het is duidelijk dat dit een voorwaardelijke kwestie is; je kunt veel coderingsmethoden bedenken.

ASCII-tabel is de internationale standaard voor pc's geworden (lees aski) (Amerikaans standaardcode voor informatie-uitwisseling).

Alleen de eerste helft van de tabel is de internationale standaard, d.w.z. tekens met cijfers van 0 (00000000) tot 127 (01111111).

Serienummer

Symbool

00000000 - 00011111


Hun functie is het controleren van het proces van het weergeven van tekst op het scherm of het afdrukken en invoeren geluidssignaal, tekstopmaak, enz.

32 - 127

00100000 - 01111111


128 - 255

10000000 - 11111111


Tweede helft code tabel ASCII, een zogenaamde codetabel (128 codes, beginnend bij 10000000 en eindigend met 11111111), kan verschillende varianten hebben, waarbij elke variant zijn eigen nummer heeft.


Ik vestig uw aandacht op het feit dat in de coderingstabel de letters (hoofdletters en kleine letters) zich bevinden alfabetische volgorde en de getallen zijn in oplopende volgorde gerangschikt. Deze naleving van de lexicografische volgorde bij de rangschikking van symbolen wordt het principe van sequentiële codering van het alfabet genoemd.


De meest gebruikte codering is momenteel Microsoft Windows, afgekort CP1251.

Sinds eind jaren negentig is het probleem van het standaardiseren van tekencodering opgelost door de introductie van een nieuwe internationale standaard genaamd Unicode . Dit is een 16-bits codering, d.w.z. het wijst voor elk teken 2 bytes geheugen toe. Dit verhoogt natuurlijk de hoeveelheid geheugen die in beslag wordt genomen met 2 keer. Maar in een dergelijke codetabel kunnen maximaal 65536 tekens worden opgenomen. De volledige specificatie van de Unicode-standaard omvat alle bestaande, uitgestorven en kunstmatig gecreëerde alfabetten van de wereld, evenals vele wiskundige, muzikale, chemische en andere symbolen.

Laten we proberen een ASCII-tabel te gebruiken om ons voor te stellen hoe woorden er in het geheugen van de computer uit zullen zien.

Woorden

Geheugen

01100110

01101001

01101100

01100101

01100100

01101001

01110011

01101011

Bij binnenkomst tekst informatie In een computer worden tekens (letters, cijfers, tekens) gecodeerd met behulp van verschillende codesystemen, die bestaan ​​uit een reeks codetabellen op de overeenkomstige pagina's met standaarden voor het coderen van tekstinformatie. In dergelijke tabellen wordt aan elk teken een specifieke numerieke code toegewezen in hexadecimale of decimaal systeem notaties, d.w.z. codetabellen weerspiegelen de overeenkomst tussen symboolafbeeldingen en numerieke codes en zijn bedoeld voor het coderen en decoderen van tekstinformatie. Bij het invoeren van tekstinformatie met behulp van een computertoetsenbord wordt elk ingevoerd teken gecodeerd, d.w.z. omgezet in een numerieke code en wordt uitgevoerd naar een computeruitvoerapparaat (display, printer of plotter). het personage. De toewijzing van een specifieke numerieke code aan een symbool is het resultaat van een overeenkomst tussen relevante organisaties in verschillende landen. Momenteel bestaat er geen enkele universele codetabel die overeenkomt met de letters van de nationale alfabetten van verschillende landen.

Moderne codetabellen omvatten internationale en nationale delen, dat wil zeggen dat ze letters van het Latijnse en nationale alfabet, cijfers, rekenkundige bewerkingen en leestekens, wiskundige en controlesymbolen en pseudografische symbolen bevatten. Internationaal deel van de codetabel gebaseerd op de standaard ASCII (Amerikaanse standaardcode voor informatie-uitwisseling), codeert de eerste helft van de tekens in de codetabel met numerieke codes van 0 tot 7 F 16, of in het decimale getallensysteem van 0 tot 127. In dit geval worden codes van 0 tot 20 16 (0 ? 32 10) toegewezen functie toetsen(F1, F2, F3, enz.) toetsenborden persoonlijke computer. In afb. 3.1 toont het internationale deel van de codetabellen op basis van de standaard ASCII. Tabelcellen zijn genummerd in decimalen en hexadecimaal systeem Afrekening.

Figuur 3.1. Internationaal deel van de codetabel (standaard ASCII) met celnummers weergegeven in decimale (a) en hexadecimale (b) getalsystemen


Het nationale deel van codetabellen bevat codes van nationale alfabetten, ook wel een tabel met tekensets genoemd (tekenset).

Momenteel zijn er, ter ondersteuning van letters van het Russische alfabet (Cyrillisch), verschillende codetabellen (coderingen) die door verschillende besturingssystemen worden gebruikt, namelijk aanzienlijk nadeel en leidt in sommige gevallen tot problemen die verband houden met decoderingsbewerkingen van numerieke symboolwaarden. In tafel 3.1 toont de namen van de codepagina's (standaarden) waarop de Cyrillische codetabellen (coderingen) zich bevinden.

Tabel 3.1

Een van de eerste standaarden voor het coderen van het Cyrillische alfabet op computers was de KOI8-R-standaard. Het nationale deel van de codetabel van deze standaard wordt getoond in Fig. 3.2.

Rijst. 3.2. Nationaal deel van de codetabel van de KOI8-R standaard


Momenteel wordt ook de codetabel op pagina CP866 van de coderingsstandaard voor tekstinformatie, die in het besturingssysteem wordt gebruikt, gebruikt MS-DOS of sessie MS-DOS voor het coderen van het Cyrillische alfabet (Fig. 3.3, A).

Rijst. 3.3. Het nationale deel van de codetabel, gelegen op pagina CP866 (a) en op pagina CP1251 (b) van de coderingsstandaard voor tekstinformatie


Momenteel bevindt de meest gebruikte codetabel voor het coderen van het Cyrillische alfabet zich op pagina CP1251 van de overeenkomstige standaard, die wordt gebruikt in besturingssystemen ach familie ramen bedrijven Microsoft(Afb. 3.2, B). In alle gepresenteerde codetabellen, behalve de standaardtabel Unicode Om één teken te coderen, worden 8 binaire cijfers (8 bits) toegewezen.

Eind vorige eeuw verscheen er een nieuwe internationale standaard Unicode waarin één teken wordt weergegeven als een binaire code van twee bytes. De toepassing van deze standaard is een voortzetting van de ontwikkeling van een universele internationale standaard om het probleem van de compatibiliteit van nationale karaktercoderingen op te lossen. Door het gebruiken van deze standaard kan worden gecodeerd 2 16 = 65536 verschillende karakters. In afb. 3.4 toont de codetabel 0400 (Russisch alfabet) van de standaard Unicode.

Rijst. 3.4. Unicode-codetabel 0400


Laten we aan de hand van een voorbeeld uitleggen wat er is gezegd over het coderen van tekstinformatie.

Voorbeeld 3.1

Codeer het woord "Computer" als een reeks decimalen en hexadecimale getallen, met behulp van CP1251-codering. Welke tekens worden weergegeven in de CP866- en KOI8-R-codetabellen bij gebruik van de ontvangen code.

Reeksen van hexadecimale en binaire code van het woord “Computer” gebaseerd op de CP1251-coderingstabel (zie Fig. 3.3, B) zal er als volgt uitzien:

Deze codereeks in SR866- en KOI8-R-coderingen resulteert in de weergave van de volgende tekens:

Om Russische sprekers te converteren tekstdocumenten Van de ene standaard voor het coderen van tekstinformatie naar de andere worden speciale programma's gebruikt: converters. Converters worden meestal in andere programma's ingebouwd. Een voorbeeld zou een browserprogramma zijn - Internet Explorer (IE), die een ingebouwde converter heeft. Een browserprogramma is een speciaal programma voor het bekijken van inhoud. webpagina's in het mondiale computer netwerk Internet. Laten we dit programma gebruiken om het symbooltoewijzingsresultaat verkregen in voorbeeld 3.1 te bevestigen. Om dit te doen, zullen we de volgende stappen uitvoeren.

1. Start het Kladblok-programma (Kladblok). Kladblok-programma in het besturingssysteem Windows XP gelanceerd met behulp van het commando: [Button Begin– Programma's – Standaard – Kladblok]. In het Kladblok-programmavenster dat wordt geopend, typt u het woord 'Computer' met behulp van de opmaaktaalsyntaxis hypertekstdocumentenHTML- (Hyper Tekstopmaak Taal). Deze taal wordt gebruikt om documenten op internet te maken. De tekst zou er als volgt uit moeten zien:

Computerwater

, Waar

En

tags (speciale constructies) van de taal HTML voor kopopmaak. In afb. Figuur 3.5 toont het resultaat van deze acties.

Rijst. 3.5. Tekst weergeven in het Kladblok-venster


Laten we deze tekst opslaan door het commando uit te voeren: [Bestand - Opslaan als...] in de juiste map op de computer, we geven het bestand een naam - Let op, met een bestandsextensie. html.

2. Laten we het programma starten Internet Explorer, door het commando uit te voeren: [Button Begin- Programma's - Internet Explorer]. Wanneer u het programma start, verschijnt het venster dat wordt weergegeven in Fig. 3.6

Rijst. 3.6. Offline toegangsvenster


Selecteer en activeer de knop Offline Hierdoor kan de computer geen verbinding maken globaal netwerk Internet. Het hoofdprogrammavenster verschijnt Microsoft-internet Ontdekkingsreiziger, getoond in afb. 3.7.

Rijst. 3.7. Hoofdvenster van Microsoft Internet Explorer


Laten we de volgende opdracht uitvoeren: [Bestand – Openen], er verschijnt een venster (Fig. 3.8), waarin u de bestandsnaam moet opgeven en op de knop moet klikken OK of druk op de knop Beoordeling… en zoek het bestand Prim.html.

Rijst. 3.8. Open raam


Hoofd venster Internetprogramma's Explorer zal de vorm aannemen die wordt getoond in Fig. 3.9. Het woord “Computer” verschijnt in het venster. Vervolgens gebruiken Topmenu programma's Internet Explorer, voer het volgende commando uit: [Beeld – Codering – Cyrillisch (DOS)]. Na het uitvoeren van deze opdracht in het programmavenster Internet Explorer De symbolen uit Afb. worden weergegeven. 3.10. Bij het uitvoeren van de opdracht: [Beeld – Codering – Cyrillisch (KOI8-R) ] in het programmavenster Internet Explorer De symbolen uit Afb. worden weergegeven. 3.11.

Rijst. 3.9. Tekens weergegeven met CP1251-codering


Rijst. 3.10. Tekens die worden weergegeven wanneer CP866-codering is ingeschakeld voor een codereeks die wordt weergegeven in CP1251-codering


Rijst. 3.11. Tekens die worden weergegeven wanneer KOI8-R-codering is ingeschakeld voor een codereeks die wordt weergegeven in CP1251-codering


Dus verkregen met behulp van het programma Internet Explorer de tekenreeksen vallen samen met de tekenreeksen verkregen met behulp van de CP866- en KOI8-R-codetabellen in voorbeeld 3.1.

3.2. Grafische informatie coderen

Grafische informatie gepresenteerd in de vorm van afbeeldingen, foto's, dia's, bewegende beelden (animatie, video), diagrammen en tekeningen kan worden gemaakt en bewerkt met behulp van een computer, en wordt dienovereenkomstig gecodeerd. Momenteel zijn dat er vrij veel applicatieprogramma's voor het verwerken van grafische informatie, maar ze implementeren allemaal drie typen computer beelden: raster, vector en fractal.

Als u beter naar het grafische beeld op het computerscherm kijkt, kunt u het zien een groot aantal van veelkleurige stippen (pixels - uit het Engels. pixel opgeleid van beeldelement – element van het beeld), die, wanneer ze samen worden verzameld, een bepaald grafisch beeld vormen. Hieruit kunnen we concluderen: een grafische afbeelding op een computer is op een bepaalde manier gecodeerd en moet in de vorm worden gepresenteerd grafisch bestand. Een bestand is de structurele basiseenheid voor het organiseren en opslaan van gegevens op een computer en in in dit geval moet informatie bevatten over hoe deze reeks punten op het beeldscherm moet worden weergegeven.

Bestanden die zijn gemaakt met vectorafbeeldingen bevatten informatie in de vorm van wiskundige relaties ( wiskundige functies, waarin lineaire afhankelijkheden worden beschreven) en bijbehorende gegevens over hoe een afbeelding van een object kan worden geconstrueerd met behulp van lijnsegmenten (vectoren) bij weergave op een computermonitor.

Bestanden gemaakt van rasterafbeeldingen, omvatten het opslaan van gegevens over elk afzonderlijk punt in de afbeelding. Om rasterafbeeldingen weer te geven zijn geen complexe wiskundige berekeningen nodig; het is voldoende om eenvoudigweg gegevens over elk punt van de afbeelding (de coördinaten en kleur) te verkrijgen en deze op het computermonitorscherm weer te geven.

Tijdens het coderingsproces wordt een beeld ruimtelijk gediscretiseerd, dat wil zeggen dat het beeld wordt opgedeeld in afzonderlijke punten en dat elk punt een kleurcode krijgt (geel, rood, blauw, enz.). Om elk punt van een grafisch kleurenbeeld te coderen, wordt het principe van de ontbinding van een willekeurige kleur in zijn hoofdcomponenten gebruikt, waarvoor drie primaire kleuren worden gebruikt: rood (Engels woord Rood, aangegeven met een letter NAAR), groente (Groente, aangegeven met een letter G), blauw (Blauw, aangegeven met beuk IN). Elke kleur van een stip die door het menselijk oog wordt waargenomen, kan worden verkregen door additieve (proportionele) toevoeging (menging) van drie primaire kleuren: rood, groen en blauw. Dit coderingssysteem wordt een kleursysteem genoemd RGB. Bestanden grafische afbeeldingen, waarin het wordt gebruikt kleur systeem RGB vertegenwoordigt elk punt van de afbeelding als een kleurentriplet: drie numerieke waarden R, G En IN, overeenkomstige intensiteiten van rode, groene en blauwe kleuren. Het proces van het coderen van een grafische afbeelding wordt uitgevoerd met behulp van verschillende technische middelen(scanner, digitale camera, digitale videocamera enz.); het resultaat is een rasterafbeelding. Bij het reproduceren van grafische kleurenbeelden op een kleurencomputermonitor wordt de kleur van elk punt (pixel) van een dergelijk beeld verkregen door het mengen van drie primaire kleuren R, G En B.

Kwaliteit bitmap wordt bepaald door twee hoofdparameters: resolutie (het aantal pixels horizontaal en verticaal) en het gebruikte kleurenpalet (het aantal opgegeven kleuren voor elke pixel in de afbeelding). De resolutie wordt gespecificeerd door het aantal pixels horizontaal en verticaal aan te geven, bijvoorbeeld 800 bij 600 pixels.

Er bestaat een relatie tussen het aantal kleuren dat aan een punt in een rasterafbeelding is toegewezen en de hoeveelheid informatie die moet worden toegewezen om de kleur van het punt op te slaan, bepaald door de relatie (formule van R. Hartley):

Waar I– hoeveelheid informatie; N - het aantal kleuren dat aan het punt is toegewezen.

De hoeveelheid informatie die nodig is om de kleur van een punt op te slaan, wordt ook wel kleurdiepte of kleurweergavekwaliteit genoemd.

Dus als het aantal kleuren dat voor een beeldpunt is opgegeven, is N= 256, dan zal de hoeveelheid informatie die nodig is voor de opslag ervan (kleurdiepte) in overeenstemming met formule (3.1) gelijk zijn aan I= 8 bits.

In computers voor weergave grafische informatie verscheidene grafische modi werking bewaken. Hierbij moet worden opgemerkt dat er naast de grafische modus van de monitor ook een tekstmodus bestaat, waarbij het monitorscherm conventioneel is verdeeld in 25 regels van 80 tekens per regel. Deze grafische modi worden gekenmerkt door de schermresolutie van de monitor en de kleurkwaliteit (kleurdiepte). Om de grafische modus van het beeldscherm in het besturingssysteem in te stellen MS-Windows XP je moet het commando uitvoeren: [Button Begin– Instellingen – Configuratiescherm – Scherm]. In het dialoogvenster “Eigenschappen: Scherm” dat verschijnt (Fig. 3.12), moet u het tabblad “Parameters” selecteren en de schuifregelaar “Schermresolutie” gebruiken om de juiste schermresolutie te selecteren (800 bij 600 pixels, 1024 bij 768 pixels, enz.). Met behulp van de vervolgkeuzelijst “Kleurkwaliteit” kunt u de kleurdiepte selecteren – “Hoogste (32 bits)”, “Gemiddeld (16 bits)”, enz., en het aantal kleuren dat aan elk punt in de afbeelding is toegewezen respectievelijk 2 32 (4294967296), 2 16 (65536), enz. zijn.

Rijst. 3.12. Dialoogvenster Eigenschappen weergeven


Om elk van de grafische modi van het beeldscherm te implementeren, is een bepaalde hoeveelheid computervideogeheugen vereist. Vereist informatievolume van videogeheugen (V) wordt bepaald uit de relatie

Waar NAAR - aantal beeldpunten op het beeldscherm (K = EEN · B); A - aantal horizontale stippen op het beeldscherm; IN - aantal verticale stippen op het beeldscherm; I– hoeveelheid informatie (kleurdiepte).

Dus als het beeldscherm een ​​resolutie heeft van 1024 bij 768 pixels en een palet bestaande uit 65.536 kleuren, dan zal de kleurdiepte volgens formule (3.1) I = log 2 65.538 = 16 bits zijn, het aantal beeldpixels zal gelijk zijn aan: K = 1024 x 768 = 786432, en het vereiste informatievolume van het videogeheugen in overeenstemming met (3.2) zal gelijk zijn aan

V= 786432 · 16 bits = 12582912 bits = 1572864 bytes = 1536 KB = 1,5 MB.

Concluderend moet worden opgemerkt dat naast de genoemde kenmerken de belangrijkste kenmerken monitor zijn de geometrische afmetingen van het scherm en de beeldpunten. De geometrische afmetingen van het scherm worden bepaald door de diagonale grootte van de monitor. De diagonale grootte van monitoren wordt gespecificeerd in inches (1 inch = 1" = 25,4 mm) en kan waarden aannemen die gelijk zijn aan: 14", 15", 17", 21", enz. Moderne monitorproductietechnologieën kunnen een beeld opleveren puntgrootte gelijk aan 0,22 mm.

Voor elke monitor is er dus een fysiek maximaal mogelijke schermresolutie, bepaald door de grootte van de diagonaal en de grootte van het beeldpunt.

Oefeningen om zelf te doen

1. Het programma gebruiken MS-Excel converteer de ASCII-, SR866-, SR1251-, KOI8-R-codetabellen naar tabellen van de vorm: schrijf hoofdletters in de cellen van de eerste kolom van de tabellen in alfabetische volgorde en vervolgens kleine letters Latijns en Cyrillisch alfabet, in de cellen van de tweede kolom - de codes die overeenkomen met de letters in het decimale getalsysteem, in de cellen van de derde kolom - de codes die overeenkomen met de letters in het hexadecimale getalsysteem. Codewaarden moeten worden geselecteerd uit de bijbehorende codetabellen.

2. Codeer en noteer de volgende woorden als een reeks getallen in de decimale en hexadecimale getalsystemen:

A) Internet Explorer, B) Microsoft Office; V) CorelDRAW.

Het coderen wordt uitgevoerd met behulp van de gemoderniseerde ASCII-coderingstabel die u in de vorige oefening hebt verkregen.

3. Gebruik de gemoderniseerde KOI8-R-coderingstabel om reeksen getallen te decoderen die zijn geschreven in het hexadecimale getalsysteem:

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. Hoe zal het woord “Cybernetica” geschreven in SR1251-codering eruit zien bij gebruik van SR866- en KOI8-R-coderingen? Controleer de resultaten met behulp van het programma Internet Explorer.

5. Met behulp van de codetabel getoond in Fig. 3.1 A, decodeer de volgende codereeksen geschreven in een binair getalsysteem:

a) 01010111 01101111 01110010 01100100;

b) 01000101 01111000 01100011 01100101 01101100;

c) 01000001 01100011 01100011 01100101 01110011 01110011.

6. Bepaal het informatievolume van het woord “Economy”, gecodeerd met codetabellen SR866, SR1251, Unicode en KOI8-R.

7. Bepaal het informatievolume van het bestand dat wordt verkregen als gevolg van het scannen van een kleurenafbeelding van 12x12 cm. De resolutie van de scanner die wordt gebruikt om deze afbeelding te scannen, is 600 dpi. De scanner stelt de kleurdiepte van het beeldpunt in op 16 bits.

Scannerresolutie 600 dpi (punt inch - dots per inch) bepaalt het vermogen van een scanner met deze resolutie om 600 dots op een segment van 1 inch te onderscheiden.

8. Bepaal het informatievolume van het bestand dat is verkregen als resultaat van het scannen van een kleurenafbeelding van A4-formaat. De resolutie van de scanner waarmee deze afbeelding wordt gescand, is 1200 dpi. De scanner stelt de kleurdiepte van het beeldpunt in op 24 bits.

9. Bepaal het aantal kleuren in het palet bij kleurdieptes van 8, 16, 24 en 32 bits.

10. Bepaal de benodigde hoeveelheid videogeheugen voor grafische modi van het beeldscherm 640 bij 480, 800 bij 600, 1024 bij 768 en 1280 bij 1024 pixels met een beeldpixelkleurdiepte van 8, 16, 24 en 32 bits. Vat de resultaten samen in een tabel. Ontwikkel binnen MS-Excel programma voor het automatiseren van berekeningen.

11. Definieer Maximaal nummer kleuren, die kunnen worden gebruikt om een ​​afbeelding van 32 bij 32 pixels op te slaan als de computer 2 KB geheugen voor de afbeelding heeft toegewezen.

12. Bepaal de maximaal mogelijke resolutie van een beeldscherm met een diagonale lengte van 15" en een beeldpuntgrootte van 0,28 mm.

13. Welke grafische modi van de monitor kunnen worden geleverd door 64 MB videogeheugen?

Inhoud

I. Geschiedenis van informatiecodering……………………………..3

II. Codering van informatie……………………………………………4

III. Codering van tekstinformatie…………………………….4

IV. Soorten coderingstabellen……………………………………………...6

V. Berekening van de hoeveelheid tekstinformatie.............................14

Lijst met referenties……………………………..16

I . Geschiedenis van informatiecodering

De mensheid gebruikt tekstcodering (codering) sinds het moment waarop de eerste verscheen. geheime informatie. Hier zijn verschillende technieken voor het coderen van tekst die zijn uitgevonden in verschillende stadia van de ontwikkeling van het menselijk denken:

Cryptografie is geheim schrijven, een systeem om het schrift te veranderen om de tekst onbegrijpelijk te maken voor niet-ingewijden;

Morsecode of ongelijke telegraafcode, waarin elke letter of teken wordt weergegeven door zijn eigen combinatie van korte elementaire uitbarstingen van elektrische stroom (punten) en elementaire uitbarstingen van drievoudige duur (streepje);

Gebarentaal is een gebarentaal die wordt gebruikt door mensen met gehoorproblemen.

Een van de vroegst bekende encryptiemethoden is vernoemd naar de Romeinse keizer Julius Caesar (1e eeuw voor Christus). Deze methode is gebaseerd op het vervangen van elke letter van de gecodeerde tekst door een andere, door het alfabet met een vast aantal tekens te verschuiven van de originele letter, en het alfabet wordt in een cirkel gelezen, dat wil zeggen dat na de letter i een a wordt beschouwd als . Dus het woord “byte”, wanneer het twee tekens naar rechts wordt verschoven, wordt gecodeerd als het woord “gwlf”. Het omgekeerde proces van het ontcijferen van een bepaald woord is nodig om elke gecodeerde letter te vervangen door de tweede links ervan.

II. Coderingsinformatie

Code is een set symbolen(of signalen) om een ​​aantal vooraf gedefinieerde concepten vast te leggen (of over te brengen).

Informatiecodering is het proces waarbij een specifieke representatie van informatie wordt gevormd. In engere zin wordt de term ‘codering’ vaak opgevat als een overgang van de ene vorm van informatierepresentatie naar de andere, handiger voor opslag, verzending of verwerking.

Normaal gesproken wordt elke afbeelding bij het coderen (ook wel encryptie genoemd) weergegeven door een afzonderlijk teken.

Een teken is een element van een eindige reeks elementen die van elkaar verschillen.

In engere zin wordt de term ‘codering’ vaak opgevat als een overgang van de ene vorm van informatierepresentatie naar de andere, handiger voor opslag, verzending of verwerking.

U kunt tekstinformatie op een computer verwerken. Wanneer ze in een computer worden ingevoerd, wordt elke letter gecodeerd met een bepaald nummer, en wanneer ze worden uitgevoerd naar externe apparaten (scherm of print), worden uit deze cijfers afbeeldingen van letters geconstrueerd voor menselijke waarneming. De overeenkomst tussen een reeks letters en cijfers wordt een tekencodering genoemd.

In de regel worden alle getallen in een computer weergegeven met nullen en enen (geen tien cijfers, zoals gebruikelijk bij mensen). Met andere woorden, computers werken meestal in het binaire getalsysteem, omdat dit de apparaten voor het verwerken ervan veel eenvoudiger maakt. Het invoeren van getallen in een computer en het uitvoeren ervan voor menselijk lezen kan in de gebruikelijke decimale vorm worden gedaan, en alle noodzakelijke conversies worden uitgevoerd door programma's die op de computer draaien.

III. Coderen van tekstinformatie

Dezelfde informatie kan in verschillende vormen worden gepresenteerd (gecodeerd). Met de komst van computers ontstond de behoefte om alle soorten informatie te coderen individueel en de mensheid als geheel. Maar de mensheid begon het probleem van het coderen van informatie al lang vóór de komst van computers op te lossen. De grootse prestaties van de mensheid - schrijven en rekenen - zijn niets meer dan een systeem voor het coderen van spraak en numerieke informatie. Informatie verschijnt nooit in zijn pure vorm, het wordt altijd op de een of andere manier gepresenteerd, op de een of andere manier gecodeerd.

Binaire codering is een van de gebruikelijke manieren om informatie weer te geven. IN computers, in robots en werktuigmachines met numeriek programma gecontroleerd Normaal gesproken wordt alle informatie waarmee het apparaat te maken heeft, gecodeerd in de vorm van woorden van het binaire alfabet.

Sinds eind jaren zestig worden computers steeds vaker gebruikt om tekstinformatie te verwerken, en nu is het grootste deel van de personal computers ter wereld (en de meeste tijd) is bezig met het verwerken van tekstinformatie. Al deze soorten informatie in een computer worden gepresenteerd in binaire code, dat wil zeggen dat er een alfabet van macht twee wordt gebruikt (slechts twee tekens 0 en 1). Dit komt door het feit dat het handig is om informatie in de vorm van een reeks te presenteren elektrische impulsen: geen puls (0), puls aanwezig (1).

Dergelijke codering wordt gewoonlijk binair genoemd, en de logische reeksen nullen en enen zelf worden machinetaal genoemd.

Vanuit computeroogpunt bestaat tekst uit individuele karakters. De symbolen omvatten niet alleen letters (hoofdletters of kleine letters, Latijn of Russisch), maar ook cijfers, leestekens, speciale tekens zoals "=", "(", "&", enz., en zelfs (let vooral op!) spaties tussen woorden.

Teksten worden via het toetsenbord in het geheugen van de computer ingevoerd. De letters, cijfers, leestekens en andere symbolen die we kennen, staan ​​op de toetsen geschreven. IN RAM ze komen in binaire code. Dit betekent dat elk teken wordt weergegeven door een binaire code van 8 bits.

Traditioneel wordt voor het coderen van één teken een hoeveelheid informatie gebruikt die gelijk is aan 1 byte, d.w.z. I = 1 byte = 8 bits. Met behulp van een formule die het aantal mogelijke gebeurtenissen K en de hoeveelheid informatie I relateert, kunnen we berekenen hoeveel verschillende symbolen kunnen worden gecodeerd (ervan uitgaande dat symbolen mogelijke gebeurtenissen): K = 2 I = 2 8 = 256, d.w.z. een alfabet met een capaciteit van 256 tekens kan worden gebruikt om tekstinformatie weer te geven.

Dit aantal tekens is ruim voldoende om tekstinformatie weer te geven, inclusief hoofdletters en kleine letters van het Russische en Latijnse alfabet, cijfers, tekens, grafische symbolen enz.

Coderen bestaat uit het toekennen van een unieke decimale code van 0 tot 255 aan elk teken, of een overeenkomstige binaire code van 00000000 tot 11111111. Een persoon onderscheidt dus karakters aan de hand van hun omtrek, en een computer aan de hand van hun code.

Het gemak van byte-voor-byte tekencodering ligt voor de hand omdat een byte het kleinste adresseerbare deel van het geheugen is en daarom de processor elk teken afzonderlijk kan benaderen bij het verwerken van tekst. Aan de andere kant zijn 256 tekens ruim voldoende om een ​​grote verscheidenheid aan symbolische informatie weer te geven.

Bij het weergeven van een symbool op een computerscherm wordt het omgekeerde proces uitgevoerd: decoderen, dat wil zeggen het omzetten van de symboolcode in zijn afbeelding. Belangrijk is dat het toekennen van een specifieke code aan een symbool een kwestie van overeenstemming is, die vastgelegd wordt in de codetabel.

Nu rijst de vraag welke binaire code van acht bits aan elk teken moet worden toegewezen. Het is duidelijk dat dit een voorwaardelijke kwestie is; je kunt veel coderingsmethoden bedenken.

Alle karakters computeralfabet genummerd van 0 tot 255. Elk getal komt overeen met een achtcijferige binaire code van 00000000 tot 11111111. Deze code is eenvoudigweg het serienummer van het teken in het binaire getalsysteem.

IV . Soorten coderingstabellen

Een tabel waarin aan alle tekens van het computeralfabet serienummers zijn toegewezen, wordt een coderingstabel genoemd.

Voor verschillende soorten Computers gebruiken verschillende coderingstabellen.

De ASCII-codetabel (American Standard Code for Information Interchange) is aangenomen als internationale standaard, waarbij de eerste helft van de tekens wordt gecodeerd met numerieke codes van 0 tot 127 (codes van 0 tot 32 worden niet aan tekens toegewezen, maar aan functietoetsen) .

De ASCII-codetabel is verdeeld in twee delen.

Alleen de eerste helft van de tabel is de internationale standaard, d.w.z. tekens met cijfers van 0 (00000000) tot 127 (01111111).

ASCII-coderingstabelstructuur

Serienummer Code Symbool
0 - 31 00000000 - 00011111

Symbolen met cijfers van 0 tot en met 31 worden gewoonlijk controlesymbolen genoemd.

Hun functie is het controleren van het proces van het weergeven van tekst op het scherm of het afdrukken, het laten klinken van een geluidssignaal, het markeren van tekst, enz.

32 - 127 0100000 - 01111111

Standaard onderdeel van de tafel (Engels). Dit omvat kleine letters en hoofdletters van het Latijnse alfabet, decimale cijfers, leestekens, allerlei soorten haakjes, commerciële en andere symbolen.

Teken 32 is een spatie, d.w.z. lege positie in de tekst.

Alle anderen worden weerspiegeld door bepaalde tekens.

128 - 255 10000000 - 11111111

Alternatief deel van de tabel (Russisch).

De tweede helft van de ASCII-codetabel, de codetabel genoemd (128 codes, beginnend bij 10000000 en eindigend met 11111111), kan verschillende opties hebben, elke optie heeft zijn eigen nummer.

De codepagina wordt voornamelijk gebruikt om andere nationale alfabetten dan het Latijn te huisvesten. In Russische nationale coderingen worden tekens uit het Russische alfabet in dit deel van de tabel geplaatst.

Eerste helft van de ASCII-codetabel

Houd er rekening mee dat in de coderingstabel de letters (hoofdletters en kleine letters) in alfabetische volgorde zijn gerangschikt en de cijfers in oplopende volgorde. Deze naleving van de lexicografische volgorde bij de rangschikking van symbolen wordt het principe van sequentiële codering van het alfabet genoemd.

Voor letters van het Russische alfabet wordt ook het principe van sequentiële codering in acht genomen.

Tweede helft van de ASCII-codetabel

Helaas zijn er momenteel vijf verschillende Cyrillische coderingen (KOI8-R, Windows, MS-DOS, Macintosh en ISO). Hierdoor ontstaan ​​er vaak problemen bij het overbrengen van Russische tekst van de ene naar de andere computer, van de ene naar de andere softwaresysteem naar een ander.

Chronologisch gezien was KOI8 ("Information Exchange Code, 8-bit") een van de eerste standaarden voor het coderen van Russische letters op computers. Deze codering werd al in de jaren zeventig gebruikt op computers uit de ES-computerserie en vanaf het midden van de jaren tachtig werd deze gebruikt in de eerste Russified-versies van het UNIX-besturingssysteem.

Vanaf het begin van de jaren negentig, de tijd van dominantie van het MS DOS-besturingssysteem, blijft de CP866-codering bestaan ​​("CP" betekent "Code Page", "code page").

Computers Appel, die het Mac OS-besturingssysteem draaien, gebruiken hun eigen Mac-codering.

Bovendien heeft de International Standards Organization (ISO) een andere codering goedgekeurd, genaamd ISO 8859-5, als standaard voor de Russische taal.

De meest gebruikte codering is Microsoft Windows, afgekort CP1251. Geïntroduceerd door Microsoft; rekening houdend met het wijdverbreide gebruik van besturingssystemen (OS) en andere softwareproducten Dit bedrijf heeft een brede distributie gevonden in de Russische Federatie.

Sinds eind jaren negentig is het probleem van het standaardiseren van tekencodering opgelost door de introductie van een nieuwe internationale standaard genaamd Unicode.

Dit is een 16-bits codering, d.w.z. het wijst voor elk teken 2 bytes geheugen toe. Dit verhoogt natuurlijk de hoeveelheid geheugen die in beslag wordt genomen met 2 keer. Maar in een dergelijke codetabel kunnen maximaal 65536 tekens worden opgenomen. De volledige specificatie van de Unicode-standaard omvat alle bestaande, uitgestorven en kunstmatig gecreëerde alfabetten van de wereld, evenals vele wiskundige, muzikale, chemische en andere symbolen.

Interne representatie van woorden in computergeheugen

met behulp van een ASCII-tabel

Soms komt het voor dat een tekst bestaande uit letters van het Russische alfabet, ontvangen van een andere computer, niet kan worden gelezen - er is een soort "abracadabra" zichtbaar op het beeldscherm. Dit gebeurt omdat computers gebruik maken van verschillende codering karakters van de Russische taal.

Elke codering wordt dus gespecificeerd door zijn eigen codetabel. Zoals uit de tabel blijkt, is dezelfde binaire code in verschillende coderingen Er zijn verschillende symbolen toegewezen.

De reeks numerieke codes 221, 194, 204 in de CP1251-codering vormt bijvoorbeeld het woord 'computer', terwijl dit in andere coderingen een betekenisloze reeks tekens zal zijn.

Gelukkig hoeft de gebruiker zich in de meeste gevallen geen zorgen te maken over het transcoderen van tekstdocumenten, aangezien dit wordt gedaan door speciale conversieprogramma's die in applicaties zijn ingebouwd.

V . Berekening van de hoeveelheid tekstinformatie

Taak 1: Codeer het woord “Rome” met behulp van de KOI8-R- en CP1251-coderingstabellen.

Oplossing:

Taak 2: Ervan uitgaande dat elk teken in één byte is gecodeerd, schat u het informatievolume van de volgende zin:

“Mijn oom heeft de eerlijkste regels,

Toen ik ernstig ziek werd,

Hij dwong zichzelf tot respect

En ik kon niets beters bedenken.”

Oplossing: Deze zin bestaat uit 108 tekens, inclusief leestekens, aanhalingstekens en spaties. We vermenigvuldigen dit getal met 8 bits. We krijgen 108*8=864 bits.

Taak 3: De twee teksten bevatten hetzelfde aantal tekens. De eerste tekst is geschreven in het Russisch en de tweede in de taal van de Naguri-stam, wiens alfabet uit 16 tekens bestaat. Wiens tekst bevat meer informatie?

Oplossing:

1) I = K * a (het informatievolume van de tekst is gelijk aan het product van het aantal tekens en het informatiegewicht van één teken).

2) Omdat Beide teksten hebben hetzelfde aantal tekens (K), het verschil hangt af van de informatie-inhoud van één teken van het alfabet (a).

3) 2 a1 = 32, d.w.z. a 1 = 5 bits, 2 a2 = 16, d.w.z. en 2 = 4 bits.

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

5) Dit betekent dat de in het Russisch geschreven tekst 5/4 keer meer informatie bevat.

Taak 4: De grootte van het bericht, bestaande uit 2048 tekens, was 1/512 MB. Bepaal de kracht van het alfabet.

Oplossing:

1) I = 1/512 * 1024 * 1024 * 8 = 16384 bits - converteert het informatievolume van het bericht naar bits.

2) a = I / K = 16384 /1024 = 16 bits - vertegenwoordigt één teken van het alfabet.

3) 2*16*2048 = 65536 tekens – de kracht van het gebruikte alfabet.

Taak 5: Laser Canon-printer LBP print met een gemiddelde snelheid van 6,3 Kbps. Hoe lang duurt het om een ​​document van 8 pagina's af te drukken, als u weet dat één pagina gemiddeld 45 regels en 70 tekens per regel bevat (1 teken - 1 byte)?

Oplossing:

1) Zoek de hoeveelheid informatie op 1 pagina: 45 * 70 * 8 bits = 25200 bits

2) Zoek de hoeveelheid informatie op 8 pagina's: 25200 * 8 = 201600 bits

3) We beperken ons tot gewone meeteenheden. Om dit te doen, converteren we Mbits naar bits: 6,3*1024=6451,2 bits/sec.

4) Zoek de afdruktijd: 201600: 6451,2 =31 seconden.

Bibliografie

1. Ageev V.M. Informatie- en coderingstheorie: bemonstering en codering van meetinformatie. - M.: MAI, 1977.

2. Kuzmin IV, Kedrus VA Grondbeginselen van informatietheorie en codering. - Kiev, Vishcha-school, 1986.

3. De eenvoudigste methoden voor tekstcodering / D.M. Zlatopolski. – M.: Chistye Prudy, 2007 – 32 p.

4. Ugrinovich N.D. Computerwetenschappen en informatietechnologie. Leerboek voor de klassen 10-11 / N.D. Ugrinovich. – M.: BINOM. Kennislaboratorium, 2003. – 512 p.

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

Materiaal voor zelfstudie over het onderwerp van hoorcollege 2

Codering ASCII

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

In totaal kunnen 256 verschillende tekens worden gecodeerd met behulp van de ASCII-coderingstabel (Afbeelding 1). Deze tabel is verdeeld in twee delen: het hoofdgedeelte (met codes van OOh tot 7Fh) en het aanvullende gedeelte (van 80h tot FFh, waarbij de letter h aangeeft dat de code tot het hexadecimale getalsysteem behoort).

Foto 1

Om één teken uit de tabel te coderen, worden 8 bits (1 byte) toegewezen. Bij het verwerken van tekstinformatie kan één byte de code van een bepaald teken bevatten: een letter, cijfer, leesteken, actieteken, enz. Elk teken heeft zijn eigen code in de vorm van een geheel getal. In dit geval worden alle codes verzameld in speciale tabellen, de zogenaamde coderingstabellen. Met hun hulp wordt de symboolcode omgezet in de zichtbare weergave op het beeldscherm. Als gevolg hiervan wordt elke tekst in het computergeheugen weergegeven als een reeks bytes met tekencodes.

Bijvoorbeeld het woord hallo! wordt als volgt gecodeerd (Tabel 1).

tafel 1

Binaire code

Code decimaal

Figuur 1 toont de tekens die zijn opgenomen in de standaard (Engelse) en uitgebreide (Russische) ASCII-codering.

De eerste helft van de ASCII-tabel is gestandaardiseerd. Het bevat controlecodes (van 00u tot 20u en 77u). Deze codes zijn uit de tabel verwijderd omdat ze niet van toepassing zijn op tekstelementen. Leestekens en wiskundige tekens: 2lh - !, 26h - &, 28h - (, 2Bh -+,..., hoofdletters en kleine Latijnse letters: 41h - A, 61h – a.

De tweede helft van de tabel bevat nationale lettertypen, pseudografische symbolen waaruit tabellen kunnen worden opgebouwd, en speciale wiskundige symbolen. Het onderste deel van de coderingstabel kan worden vervangen met behulp van geschikte stuurprogramma's - besturingshulpprogramma's. Met deze techniek kunt u verschillende lettertypen en hun lettertypen gebruiken.

Het display voor elke symboolcode moet een afbeelding van het symbool weergeven - niet alleen een digitale code, maar een overeenkomstige afbeelding, aangezien elk symbool zijn eigen vorm heeft. Een beschrijving van de vorm van elk teken wordt opgeslagen in een speciaal weergavegeheugen: een tekengenerator. Het markeren van een teken op het scherm van een IBM PC-display gebeurt bijvoorbeeld met behulp van punten die een tekenmatrix vormen. Elke pixel in zo’n matrix is ​​een beeldelement en kan helder of donker zijn. Een donkere stip wordt gecodeerd als 0, een lichte (heldere) stip als 1. Als u donkere pixels in het matrixveld van een teken weergeeft als een punt, en lichte pixels als een asterisk, kunt u de vorm van het symbool grafisch weergeven.

Mensen in verschillende landen gebruiken symbolen om woorden in hun moedertaal te schrijven. Tegenwoordig zijn de meeste applicaties, inclusief e-mailsystemen en webbrowsers, puur 8-bits, wat betekent dat ze alleen 8-bits tekens kunnen weergeven en correct accepteren, volgens de ISO-8859-1-standaard.

Er zijn meer dan 256 karakters in de wereld (als je rekening houdt met Cyrillisch, Arabisch, Chinees, Japans, Koreaans en Thais) en er verschijnen steeds meer nieuwe karakters. En dit creëert voor veel gebruikers de volgende hiaten:

Het is niet mogelijk om tekens uit verschillende coderingssets in hetzelfde document te gebruiken. Omdat elk tekstdocument zijn eigen set coderingen gebruikt, zijn er grote problemen met automatische tekstherkenning.

Er verschijnen nieuwe symbolen (bijvoorbeeld: Euro), waardoor ISO een nieuwe standaard ontwikkelt, ISO-8859-15, die sterk lijkt op de ISO-8859-1 standaard. Het verschil is dat de oude ISO-8859-1-coderingstabel symbolen heeft verwijderd voor oudere valuta's die momenteel niet in gebruik zijn, om ruimte te maken voor nieuw geïntroduceerde symbolen (zoals de euro). Als gevolg hiervan kunnen gebruikers dezelfde documenten op hun schijven hebben, maar in verschillende coderingen. De oplossing voor deze problemen is het aannemen van één enkele internationale set coderingen, genaamd Universal Coding of Unicode.

Codering Unicode

De standaard werd in 1991 voorgesteld door de non-profitorganisatie Unicode Consortium (Unicode Inc.). Het gebruik van deze standaard maakt het mogelijk om een ​​zeer groot aantal karakters uit verschillende scripts te coderen: in Unicode-documenten Chinese karakters, wiskundige symbolen, letters van het Griekse alfabet, het Latijnse en het Cyrillische alfabet kunnen naast elkaar bestaan, en het wisselen van codepagina's wordt overbodig.

De standaard bestaat uit twee hoofdsecties: de universele tekenset (UCS) en de coderingsfamilie (UTF, Unicode-transformatieformaat). De universele karakterset specificeert een één-op-één correspondentie tussen karakters en codes - elementen van de coderuimte die niet-negatieve gehele getallen vertegenwoordigen. Een coderingsfamilie definieert de machinerepresentatie van een reeks UCS-codes.

De Unicode-standaard is ontwikkeld om één tekencodering te creëren voor alle moderne en vele oude geschreven talen. Elk teken in deze standaard is gecodeerd met 16 bits, waardoor het een onvergelijkbaar groter aantal tekens kan bestrijken dan voorheen geaccepteerde 8-bits coderingen. Een ander belangrijk verschil tussen Unicode en andere coderingssystemen is dat het niet alleen toewijst unieke code, maar definieert ook verschillende kenmerken van dit symbool, bijvoorbeeld:

    tekentype (hoofdletter, kleine letter, cijfer, leesteken, enz.);

    tekenattributen (weergave van links naar rechts of van rechts naar links, spatie, regeleinde, etc.);

    overeenkomstige hoofdletter of kleine letter (voor kleine letters en hoofdletters respectievelijk);

    de overeenkomstige numerieke waarde (voor numerieke tekens).

Het hele bereik van codes van 0 tot FFFF is verdeeld in verschillende standaardsubsets, die elk overeenkomen met het alfabet van een taal of met een groep speciale tekens die qua functie vergelijkbaar zijn. Het onderstaande diagram bevat een algemene lijst met Unicode 3.0-subsets (Afbeelding 2).

Figuur 2

De Unicode-standaard vormt de basis voor het opslaan van tekst in veel moderne computersystemen. Het is echter niet compatibel met de meeste internetprotocollen omdat de codes elke bytewaarde kunnen bevatten, en protocollen gebruiken doorgaans bytes 00 - 1F en FE - FF als servicebytes. Om compatibiliteit te bereiken zijn er verschillende Unicode-transformatieformaten (UTF's, Unicode Transformation Formats) ontwikkeld, waarvan UTF-8 tegenwoordig de meest voorkomende is. Dit formaat definieert de volgende regels voor het converteren van elke Unicode-code naar een set bytes (één tot drie) die geschikt zijn voor transport via internetprotocollen.

Hier duiden x,y,z de bits van de broncode aan die moeten worden geëxtraheerd, te beginnen met de minst significante, en van rechts naar links in de resultaatbytes moeten worden ingevoerd totdat alle gespecificeerde posities zijn gevuld.

Verdere ontwikkeling van de Unicode-standaard gaat gepaard met de toevoeging van nieuwe taalgebieden, d.w.z. tekens in het bereik 10000 - 1FFFF, 20000 - 2FFFF, enz., waar het codering zou moeten bevatten voor scripts van dode talen die niet in de bovenstaande tabel zijn opgenomen. Er is een nieuw formaat, UTF-16, ontwikkeld om deze extra tekens te coderen.

Er zijn dus vier manieren om Unicode-bytes te coderen:

UTF-8: 128 tekens gecodeerd in één byte (ASCII-formaat), 1920 tekens gecodeerd in 2 bytes ((Romeinse, Griekse, Cyrillische, Koptische, Armeense, Hebreeuwse, Arabische tekens), 63488 tekens gecodeerd in 3 bytes (Chinese, Japanse enz. .) De overige 2.147.418.112 tekens (nog niet gebruikt) kunnen worden gecodeerd met 4, 5 of 6 bytes.

UCS-2: Elk teken wordt weergegeven door 2 bytes. Deze codering omvat alleen de eerste 65.535 tekens uit het Unicode-formaat.

UTF-16: een uitbreiding van UCS-2 en bevat 1.114.112 tekens in Unicode-formaat. De eerste 65.535 tekens worden weergegeven door 2 bytes, de rest door 4 bytes.

USC-4: Elk teken is gecodeerd in 4 bytes.

Karakter-overlay

Met het BS-teken (backspace) kan de printer het ene teken over het andere afdrukken. ASCII voorzag in het op deze manier toevoegen van diakritische tekens aan letters, bijvoorbeeld:

  • een BS "→ á
  • a BS ` → à
  • een BS ^ → â
  • o BS / → ø
  • c BS , → ç
  • n BS ~ → с

Opmerking: in oude lettertypen werd de apostrof " schuin naar links getekend en de tilde ~ naar boven verschoven, zodat ze precies in de rol van een acuut en een tilde bovenaan pasten.

Als hetzelfde teken over een teken heen wordt geplaatst, is het resultaat een vet lettertype-effect, en als er een onderstreping over een teken wordt geplaatst, is het resultaat onderstreepte tekst.

  • een BS een → A
  • aBS_→ A

Opmerking: dit wordt bijvoorbeeld gebruikt in hulp systeem man.

Nationale ASCII-varianten

De ISO 646 (ECMA-6) standaard voorziet in de mogelijkheid om nationale symbolen te plaatsen @ [ \ ] ^ ` { | } ~ . Daarnaast op locatie # kan worden geplaatst £ , en op zijn plaats $ - ¤ . Dit systeem is zeer geschikt voor Europese talen waar slechts een paar extra tekens nodig zijn. De versie van ASCII zonder nationale karakters wordt US-ASCII of "International Reference Version" genoemd.

Vervolgens bleek het handiger om 8-bits coderingen (codepagina's) te gebruiken, waarbij de onderste helft van de codetabel (0-127) wordt ingenomen door US-ASCII-tekens en de bovenste helft (128-255) - extra karakters, inclusief een reeks nationale symbolen. Zo werd de bovenste helft van de ASCII-tabel, vóór de wijdverbreide adoptie van Unicode, actief gebruikt om gelokaliseerde karakters, letters van de lokale taal, weer te geven. Gebrek aan een uniforme standaard voor het plaatsen van Cyrillische karakters ASCII-tabel veroorzaakte veel problemen met coderingen (KOI-8, Windows-1251 en andere). Andere talen met niet-Latijnse schriften hadden ook last van verschillende coderingen.

.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
0. NUL SOM EOA EOM EQT WRU RU KLOK BKSP HT LF V.T FF CR DUS SI.
1. gelijkstroom 0 Gelijkstroom 1 Gelijkstroom 2 Gelijkstroom 3 gelijkstroom 4 ERR SYNCHRONISEREN L.E.M. S 0 S 1 S 2 S 3 S 4 S 5 S 6 S 7
2.
3.
4. BLANCO ! " # $ % & " ( ) * + , - . /
5. 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
6.
7.
8.
9.
A. @ A B C D E F G H I J K L M N O
B. P Q R S T U V W X Y Z [ \ ]
C.
D.
E. A B C D e F G H i J k l M N O
F. P Q R S T u v w X j z ESC DEL

Op computers waarop de minimaal adresseerbare geheugeneenheid een woord van 36 bits was, werden aanvankelijk 6-bits tekens gebruikt (1 woord = 6 tekens). Na de overgang naar ASCII begonnen dergelijke computers ofwel 5 zeven-bits karakters (1 bit bleef extra) of 4 negen-bits karakters in één woord te bevatten.

ASCII-codes worden ook gebruikt om te bepalen welke toets wordt ingedrukt tijdens het programmeren. Voor een standaard QWERTY-toetsenbord ziet de codetabel er als volgt uit:

Volgens de International Telecommunication Union gebruikten in 2016 drieënhalf miljard mensen het internet met enige regelmaat. De meesten van hen denken er niet eens aan dat alle berichten die ze via pc of mobiele gadgets verzenden, evenals teksten die op allerlei monitoren worden weergegeven, eigenlijk combinaties zijn van 0 en 1. Deze representatie van informatie wordt codering genoemd. . Het verzekert en vergemakkelijkt de opslag, verwerking en verzending ervan aanzienlijk. In 1963 werd de Amerikaanse ASCII-codering ontwikkeld, waarover dit artikel gaat.

Informatie presenteren op een computer

Vanuit het gezichtspunt van elke elektronische computer is tekst een verzameling individuele karakters. Deze omvatten niet alleen letters, inclusief hoofdletters, maar ook leestekens en cijfers. Daarnaast worden speciale tekens “=”, “&”, “(” en spaties gebruikt.

De reeks tekens waaruit de tekst bestaat, wordt het alfabet genoemd en hun aantal wordt kardinaliteit genoemd (aangegeven als N). Om dit te bepalen wordt de uitdrukking N = 2^b gebruikt, waarbij b het aantal bits of het informatiegewicht van een bepaald symbool is.

Het is bewezen dat een alfabet met een capaciteit van 256 tekens alle benodigde tekens kan vertegenwoordigen.

Omdat 256 de 8e macht van twee vertegenwoordigt, is het gewicht van elk teken 8 bits.

Een meeteenheid van 8 bits wordt 1 byte genoemd, dus het is gebruikelijk om te zeggen dat elk teken in tekst dat op een computer is opgeslagen, één byte geheugen in beslag neemt.

Hoe wordt er gecodeerd?

Alle teksten worden in het geheugen van een personal computer ingevoerd met behulp van toetsenbordtoetsen waarop cijfers, letters, leestekens en andere symbolen zijn geschreven. Ze worden in binaire code naar RAM overgebracht, d.w.z. elk teken is gekoppeld aan een decimale code die mensen bekend zijn, van 0 tot 255, wat overeenkomt met een binaire code - van 00000000 tot 11111111.

Met byte-byte tekencodering kan de processor die de tekstverwerking uitvoert, elk teken afzonderlijk benaderen. Tegelijkertijd zijn 256 tekens voldoende om symbolische informatie weer te geven.

ASCII-tekencodering

Deze afkorting in het Engels staat voor code ter informatie verwisselen.

Zelfs aan het begin van de automatisering werd het duidelijk dat het mogelijk was om een ​​grote verscheidenheid aan manieren te bedenken om informatie te coderen. Om informatie van de ene computer naar de andere over te brengen, was het echter noodzakelijk om een ​​uniforme standaard te ontwikkelen. Dus in 1963 verscheen de ASCII-coderingstabel in de VS. Daarin wordt elk symbool van het computeralfabet geassocieerd met zijn serienummer in binaire weergave. ASCII werd oorspronkelijk alleen in de Verenigde Staten gebruikt en werd later een internationale standaard voor pc's.

ASCII-codes zijn verdeeld in 2 delen. Alleen de eerste helft van deze tabel wordt als de internationale standaard beschouwd. Het bevat karakters met serienummers van 0 (gecodeerd als 00000000) tot 127 (gecodeerd als 01111111).

Serienummer

ASCII-tekstcodering

Symbool

0000 0000 - 0001 1111

Tekens met een N van 0 tot 31 worden controletekens genoemd. Hun functie is het “beheren” van het proces van het weergeven van tekst op een monitor of afdrukapparaat, het geven van een geluidssignaal, enz.

0010 0000 - 0111 1111

Tekens van N van 32 tot 127 (standaardgedeelte van de tabel) - hoofdletters en kleine letters van het Latijnse alfabet, 10e cijfers, leestekens, evenals verschillende haakjes, commerciële en andere symbolen. Het teken 32 vertegenwoordigt een spatie.

1000 0000 - 1111 1111

Tekens met N van 128 tot 255 (alternatief deel van de tabel of codepagina) kunnen verschillende varianten hebben, die elk een eigen nummer hebben. De codepagina wordt gebruikt om nationale alfabetten te specificeren die verschillen van het Latijn. Het is met name met zijn hulp dat ASCII-codering voor Russische karakters wordt uitgevoerd.

In de tabel worden de coderingen met een hoofdletter geschreven en volgen ze elkaar op in alfabetische volgorde, terwijl de cijfers in oplopende volgorde staan. Dit principe blijft hetzelfde voor het Russische alfabet.

Controlekarakters

De ASCII-coderingstabel is oorspronkelijk gemaakt voor het ontvangen en verzenden van informatie via een apparaat dat lange tijd niet is gebruikt, zoals een teletype. In dit opzicht zijn niet-afdrukbare tekens opgenomen in de tekenset, die worden gebruikt als opdrachten om dit apparaat te besturen. Soortgelijke commando's werden gebruikt in pre-computer-berichtenmethoden zoals morsecode, enz.

Het meest voorkomende teletype-teken is NUL (00). Het wordt vandaag de dag nog steeds in de meeste programmeertalen gebruikt om het einde van een regel aan te geven.

Waar wordt ASCII-codering gebruikt?

De American Standard Code is niet alleen nodig voor het invoeren van tekstinformatie op het toetsenbord. Het wordt ook gebruikt in grafische afbeeldingen. In het bijzonder vertegenwoordigen de afbeeldingen van de verschillende extensies in ASCII Art Maker een spectrum van ASCII-tekens.

Er zijn twee soorten vergelijkbare producten: producten die een functie vervullen grafische editors door afbeeldingen naar tekst te converteren en “tekeningen” naar ASCII-afbeeldingen te converteren. De beroemde emoticon is bijvoorbeeld een goed voorbeeld van een coderingssymbool.

ASCII kan ook worden gebruikt bij het maken van een HTML-document. In dit geval kunt u een bepaalde reeks tekens invoeren en wanneer u de pagina bekijkt, verschijnt een symbool dat overeenkomt met deze code op het scherm.

ASCII is ook nodig voor het maken van meertalige websites, omdat tekens die niet in een specifieke nationale tabel voorkomen, worden vervangen door ASCII-codes.

Sommige eigenschappen

ASCII werd oorspronkelijk gebruikt om tekstinformatie te coderen met behulp van 7 bits (één was leeg gelaten), maar tegenwoordig werkt het als 8 bits.

De letters in de kolommen boven en onder verschillen slechts in één bit van elkaar. Dit vermindert de complexiteit van de audit aanzienlijk.

ASCII gebruiken in Microsoft Office

Indien nodig kan dit type codering van tekstinformatie worden gebruikt teksteditors Microsoft-bedrijven zoals Notepad en Kantoor Woord. In dit geval kunt u bepaalde functies mogelijk niet gebruiken tijdens het typen. U kunt bijvoorbeeld geen vetgedrukte tekst gebruiken, omdat ASCII-codering alleen de betekenis van de informatie behoudt en het algehele uiterlijk en de vorm ervan negeert.

Standaardisatie

De ISO-organisatie heeft ISO 8859-normen aangenomen. Deze groep definieert 8-bits coderingen voor verschillende taalgroepen. Concreet is ISO 8859-1 een uitgebreide ASCII-tabel voor de Verenigde Staten en West-Europese landen. En ISO 8859-5 is een tabel die wordt gebruikt voor het Cyrillische alfabet, inclusief de Russische taal.

Om een ​​aantal historische redenen werd de ISO 8859-5-standaard slechts zeer korte tijd gebruikt.

Voor de Russische taal dit moment De daadwerkelijk gebruikte coderingen zijn:

  • CP866 (codepagina 866) of DOS, wat vaak alternatieve GOST-codering wordt genoemd. Het werd actief gebruikt tot het midden van de jaren 90 van de vorige eeuw. Op dit moment wordt het praktisch niet gebruikt.
  • KOI-8. De codering is ontwikkeld in de jaren zeventig en tachtig en is momenteel de algemeen aanvaarde standaard voor e-mailberichten op RuNet. Het wordt veel gebruikt in Unix-besturingssystemen, waaronder Linux. De “Russische” versie van KOI-8 heet KOI-8R. Daarnaast zijn er versies voor andere Cyrillische talen, zoals Oekraïens.
  • Codepagina 1251 (CP 1251, Windows - 1251). Ontwikkeld door Microsoft om ondersteuning te bieden voor de Russische taal in de Windows-omgeving.

Het belangrijkste voordeel van de eerste CP866-standaard was het behoud van pseudografische tekens op dezelfde posities als in Extended ASCII. Dit maakte het mogelijk om in het buitenland gemaakte tekstprogramma's te draaien, zoals de beroemde Norton-commandant. Momenteel wordt CP866 gebruikt voor programma's die voor Windows zijn ontwikkeld en die in tekstmodus op volledig scherm of in tekstvensters worden uitgevoerd, inclusief FAR Manager.

Computerteksten geschreven in CP866-codering, in De laatste tijd Ze zijn vrij zeldzaam, maar het is degene die wordt gebruikt voor Russische bestandsnamen in Windows.

"Unicode"

Op dit moment wordt deze codering het meest gebruikt. Unicode-codes zijn onderverdeeld in gebieden. De eerste (U+0000 tot U+007F) bevat ASCII-tekens met codes. Dit wordt gevolgd door de karaktergebieden van verschillende nationale scripts, evenals leestekens en technische symbolen. Bovendien zijn sommige Unicode-codes gereserveerd voor het geval er in de toekomst nieuwe tekens moeten worden toegevoegd.

Nu weet je dat in ASCII elk teken wordt weergegeven als een combinatie van 8 nullen en enen. Voor niet-specialisten lijkt deze informatie misschien onnodig en oninteressant, maar wilt u niet weten wat er “in de hersenen” van uw pc gebeurt?!

Zoals u weet slaat een computer informatie op binair, die het voorstelt als een reeks enen en nullen. Om informatie te vertalen naar een vorm die geschikt is voor menselijke waarneming, wordt elke unieke reeks getallen vervangen door het bijbehorende symbool wanneer ze worden weergegeven.

Een van de systemen voor het correleren van binaire codes met gedrukte en besturingstekens is

Op het huidige ontwikkelingsniveau computer technologie de gebruiker hoeft de code van elk specifiek teken niet te kennen. Echter algemeen begrip hoe het coderen wordt uitgevoerd is uiterst nuttig en voor sommige categorieën specialisten zelfs noodzakelijk.

ASCII maken

De codering werd oorspronkelijk ontwikkeld in 1963 en vervolgens in de loop van 25 jaar tweemaal bijgewerkt.

IN originele versie De ASCII-tekentabel bevatte 128 tekens; later verscheen er een uitgebreide versie, waarin de eerste 128 tekens werden opgeslagen en voorheen ontbrekende tekens werden toegewezen aan codes waarbij het achtste bit betrokken was.

Jarenlang was deze codering de meest populaire ter wereld. In 2006 nam Latin 1252 de leidende positie in, en vanaf eind 2007 tot heden heeft Unicode de leidende positie stevig ingenomen.

Computerrepresentatie van ASCII

Elk ASCII-teken heeft zijn eigen code, bestaande uit 8 tekens die een nul of een één vertegenwoordigen. Het minimumaantal in deze weergave is nul (acht nullen in het binaire systeem), wat de code is van het eerste element in de tabel.

Twee codes in de tabel waren gereserveerd voor het schakelen tussen de standaard US-ASCII en de nationale variant.

Nadat ASCII niet 128, maar 256 tekens begon te bevatten, werd een coderingsvariant wijdverspreid, waarbij de originele versie van de tabel werd opgeslagen in de eerste 128 codes met het 8e bit nul. Nationale geschreven karakters werden opgeslagen in de bovenste helft van de tabel (posities 128-255).

De gebruiker hoeft de ASCII-tekencodes niet rechtstreeks te kennen. Aan de ontwikkelaar software Meestal is het voldoende om het nummer van het element in de tabel te kennen om, indien nodig, de code ervan te berekenen met behulp van het binaire systeem.

Russische taal

Na de ontwikkeling van coderingen voor de Scandinavische talen, Chinees, Koreaans, Grieks, enz. begin jaren zeventig, begon de Sovjet-Unie haar eigen versie te creëren. Al snel werd een versie van een 8-bits codering genaamd KOI8 ontwikkeld, waarbij de eerste 128 ASCII-tekencodes behouden bleven en hetzelfde aantal posities werd toegewezen aan letters van het nationale alfabet en extra tekens.

Vóór de introductie van Unicode domineerde KOI8 Russisch segment Internet. Er waren coderingsopties voor zowel het Russische als het Oekraïense alfabet.

ASCII-problemen

Omdat het aantal elementen, zelfs in de uitgebreide tabel, niet groter was dan 256, was er geen mogelijkheid om meerdere verschillende scripts in één codering onder te brengen. In de jaren 90 verscheen het "crocozyabr" -probleem op de Runet, toen teksten getypt in Russische ASCII-tekens onjuist werden weergegeven.

Het probleem was dat de code niet overeenkwam verschillende opties ASCII met elkaar. Laten we niet vergeten dat verschillende karakters zich op de posities 128-255 konden bevinden, en bij het veranderen van de ene Cyrillische codering naar de andere, werden alle letters van de tekst vervangen door andere met een identiek nummer in een andere versie van de codering.

Huidige toestand

Met de komst van Unicode begon de populariteit van ASCII scherp af te nemen.

De reden hiervoor ligt in het feit dat de nieuwe codering het mogelijk maakte om karakters uit bijna alle geschreven talen te huisvesten. In dit geval komen de eerste 128 ASCII-tekens overeen met dezelfde tekens in Unicode.

In 2000 was ASCII de meest populaire codering op internet en werd gebruikt op 60% van de webpagina's die door Google werden geïndexeerd. In 2012 was het aandeel van dergelijke pagina's gedaald tot 17% en nam Unicode (UTF-8) de plaats in van de meest populaire codering.

ASCII dus belangrijk deel verhalen informatie technologieën Het gebruik ervan in de toekomst lijkt echter weinig belovend.


2024, leally.ru - Uw gids in de wereld van computers en internet