Binära tecken i ASCII-tecken. Kodning textinformation


Datorn betyder processen med dess omvandling till en form som låter dig organisera mer bekväm överföring, lagring eller automatisk bearbetning av dessa data. För detta ändamål används olika tabeller. ASCII-kodningen är det första systemet som utvecklats i USA för att arbeta med den engelskspråkiga texten, som därefter fördelades över hela världen. Dess beskrivningar, funktioner, egenskaper och vidare användning ägnas åt den artikel som presenteras nedan.

Visa och lagra information i dator

Symboler på en datorskärm eller en mobil digital gadget bildas på grundval av uppsättningar av vektorformer av alla typer av tecken och kod som låter dig hitta karaktären bland dem som du vill infoga till rätt plats. Det är lite sekvens. Således måste varje symbol definitivt passa en uppsättning nollor och enheter som står i en viss, unik ordning.

Hur allt började

Historiskt var de första datorerna engelsktalande. För att koda symbolisk information i dem var det tillräckligt att använda endast 7 minnesbitar, medan det för detta ändamål var 1 byte, bestående av 8 bitar. Antalet tecken som förstås av datorn i detta fall var lika med 128. Antalet sådana tecken inkluderade ett engelska alfabet med sina skiljetecken, siffror och några specialtecken. En engelsktalande sju kodad kodning med motsvarande tabell (kodsida), som utvecklats 1963, heter amerikansk standardkod för informationsutbyte. Vanligtvis, för dess beteckning, användes förkortningen "ASCII-kodning" och användes till denna dag.

Övergång till multiplicera

Med tiden har datorer blivit allmänt använda i icke-engagerande länder. I detta avseende var det ett behov av kodningar som tillåter oss att använda nationella språk. Det beslutades att inte återuppfinna cykeln och ta som grund för ASCII. Kodbordet i den nya utgåvan expanderade betydligt. Användningen av 8: e biten tillåter 256 tecken att översätta till ett datorspråk.

Beskrivning

ASCII-kodningen har ett bord som är uppdelat i 2 delar. Den allmänt accepterade internationella standarden anses endast vara den första halvan. Det inkluderar:

  • Symboler med sekvensnummer från 0 till 31, kodade av sekvenser från 00000000 till 00011111. De är tilldelade att kontrollera tecken som följer processen för att mata ut text till skärmen eller skrivaren, ljudsignalen etc.
  • Symboler med NN i tabellen från 32 till 127, kodad av sekvenser från 00100000 till 01111111, utgör en standarddel av bordet. Dessa inkluderar ett utrymme (n 32), bokstäverna i det latinska alfabetet (små bokstäver och versaler), tio siffror från 0 till 9, skiljetecken, fästen med olika inskription och andra tecken.
  • Symboler med sekvensnummer från 128 till 255, kodade av sekvenser från 10.000.000 till 11111111. Det här är bokstäverna i andra alfabet än latinska. Det är den här alternativa delen av ASCII-kodningsbordet som används för att konvertera ryska symboler till datorns formulär.

Vissa egenskaper

Funktionerna i ASCII-kodningen inkluderar skillnaden mellan bokstäverna "A" - "Z" av de nedre och övre registeren med endast en bit. Denna omständighet förenklar registeromvandlingen, liksom dess verifikation för att tillhöra det angivna värdet. Dessutom representeras alla bokstäverna i ASCII-kodningssystemet av sina egna sekvensnummer i alfabetet som skrivs 5 siffror i ett binärt talsystem, framför vilket för bokstäverna i det lägre registeret kostar 011 2 och den övre - 010 2.

Funktionerna hos ASCII-kodningsfunktionerna kan också klassificeras och representera 10 siffror - "0" - "9". I det andra nummersystemet börjar de med 00112 och slutar med 2 värden av siffror. Så, 0101 2 är ekvivalent med ett decimaltal fem, så "5" -symbolen är skrivet som 0011 01012. Att förlita sig på ovanstående kan du enkelt omvandla binära decimaler till strängen i ASCII-kodningen genom att tillsätta den vänstra bitföljden 00112 till varje MB.

"Unicode"

Som du vet är tusentals tecken skyldiga att visa texter på gruppen i gruppen Sydostasien. Detta belopp beskrivs inte på något sätt i en pateinformation, så även de utökade versionerna av ASCII kunde inte längre uppfylla de ökade användarnas ökade behov från olika länder.

Så det var ett behov av att skapa en universell kodning av texten, vars utveckling, med samarbetet med många ledare av världen IT-industrin, ett konsortium "Unicode" var förlovad. Dess experter skapade UTF 32-systemet. I den släpptes 32 bitar som utgör 4 byte av information för kodning 1 av symbolen. Den största nackdelen var en kraftig ökning av mängden minne som krävs så mycket som 4 gånger, vilket medför många problem.

Samtidigt, för de flesta länder med officiella språk som rör den indo-europeiska gruppen, är antalet tecken som motsvarar 2 32 mer än överflödiga.

Som ett resultat av det ytterligare arbetet med specialister från "Unicode" -konsortiet uppträdde en UTF-16-kodning. Det har blivit möjligheten att konvertera symbolisk information som har ordnat alla både med volymen av det önskade minnet och med antalet kodade symboler. Därför accepterades UTF-16 som standard och i det för ett märke måste du reservera 2 byte.

Även den här ganska avancerade och framgångsrika versionen av "Unicode" hade några nackdelar, och efter övergången från den utökade versionen av ASCII till UTF-16 ökade vikten av dokumentet två gånger.

I detta avseende beslutades att använda den UTF-8-variabla variabla kodningen. I det här fallet kodas varje källtextikon kodas av en sekvens av 1 till 6 byte.

Kommunikation med amerikansk standardkod för informationsutbyte

Alla tecken på det latinska alfabetet i UTF-8-variabel längd kodas i 1 byte, som i ASCII-kodningssystemet.

En egenskap hos UTF-8 är det när det gäller text på Latinien utan att använda andra tecken, tillåter även program som inte förstår "Unicode" fortfarande att du kan läsa den. Med andra ord flyttar den grundläggande delen av ASCII-textkodningen helt enkelt till den nya UTF-längdvariabeln. Cyrilliska skyltar i UTF-8 upptar 2 byte, och till exempel Georgian - 3 bytes. Skapandet av UTF-16 och 8 löstes det största problemet med att skapa ett enda kodutrymme i teckensnitt. Sedan dess är tillverkare av teckensnitt bara att fylla i tabellvektorformerna av textymboler baserat på deras behov.

I olika operativsystem ges preferens till olika kodningar. För att kunna läsa och redigera texter görs i en annan kodning, gäller de ryska textprogrammen. Vissa textredaktörer innehåller inbyggda transkodrar och låter dig läsa text oavsett kodning.

Nu vet du hur många tecken i ASCII-kodningen och hur och varför den var utformad. Naturligtvis fick jag idag den största fördelningen i världen. Unicode. Det är emellertid omöjligt att glömma att det skapas på grundval av ASCII, så det bör uppskattas av bidraget från utvecklarna till IT-räckvidden.

Många tecken med vilka texten är skriven, kallas alfabet.

Antalet tecken i alfabetet är dess kraft.

Formel för bestämning av antalet information: N \u003d 2 b,

där n är alfabetets kraft (antalet tecken),

b - Antalet bitar (symbolinformation).

Alfabet med en kraft på 256 tecken kan placeras nästan alla nödvändiga tecken. Ett sådant alfabet kallas tillräcklig.

Därför att 256 \u003d 2 8, sedan vikt 1 symbol - 8 bitar.

Mätenhet 8 bitar tilldelat namn 1 byte:

1 byte \u003d 8 bitar.

Den binära koden för varje symbol i datortexten tar 1 minnesbyte.

Vilken typ av textinformation presenteras i datorns minne?

Bekvämlighet med överdriven symbolkodning är uppenbart, eftersom byte - den minsta adresserbara delen av minnet och därför kan processorn referera till varje tecken separat genom att utföra textbehandling. Å andra sidan är 256 tecken tillräckligt för att representera den mest varierade symboliska informationen.

Nu uppstår frågan vilken åtta bitars binär kod att sätta i linje med varje symbol.

Det är uppenbart att detta är ett villkorligt är att du kan komma med många kodningsmetoder.

Alla symboler för datoralfabetet är numrerade från 0 till 255. Även numret motsvarar den åtta bitars binära koden från 00000000 till 11111111. Denna kod är helt enkelt sekvensnummeret för symbolen i det binära nummersystemet.

Ett bord där alla tecken i datoralfabetet är gjorda i överensstämmelse med sekvensnummer, kallas kodningsbordet.

För olika typer av datorer används olika kodningsbord.

Den internationella standarden för PC har blivit ett bord ASCII.(Läs ASKI) (American Standard Code för informationsutbyte).

ASCII-kodtabellen är uppdelad i två delar.

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

ASCII kodande tabellstruktur

Serienummer

Koden

Symbol

0 - 31

00000000 - 00011111

Symboler med siffror från 0 till 31 kallas chefer.
Deras funktion är att styra processen för att mata ut text på skärmen eller utskrift, ljudsignalen, textmarkeringen etc.

32 - 127

00100000 - 01111111

Standard del av bordet (engelska). Detta inkluderar små bokstäver och stora bokstäver i det latinska alfabetet, decimaltal, skiljetecken, alla typer av fästen, kommersiella och andra tecken.
Symbol 32 - Utrymme, d.v.s. Tom position i texten.
Alla andra återspeglas av vissa tecken.

128 - 255

10000000 - 11111111

Alternativ del av bordet (ryska).
Den andra halvan av ASCII-kodbordet, som kallas kodsidan (128 koder, som börjar med 10.000.000 och slutar 111111111), kan ha olika alternativ, varje alternativ har sitt eget nummer.
Kodsidan används främst för att tillgodose andra alfabet än latinska. I ryska nationella kodningar placeras symbolerna på det ryska alfabetet i den här delen av bordet.

Den första halvan av ASCII-koderna


Jag uppmärksammar det faktum att i tabellen av kodning av bokstaven (versaler och små bokstäver) är anordnade i alfabetisk ordning, och siffrorna beställs av ökande värden. En sådan vidhäftning mot den lexikografiska ordningen i arrangemanget av symbolerna kallas principen om sekventiell kodning av alfabetet.

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

Den andra halvan av ASCII-koderna


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

Kronologiskt var en av de första standarderna för kodning av ryska bokstäver på datorer koi8 ("informationsutbyte kod, 8-bit"). Denna kodning användes på 70-talet på datorerna i EU: s EU-serie, och från mitten av 80-talet började den användas i de första rysska versionerna av UNIX-operativsystemet.

Från början av 90-talet, tidpunkten för dominans av MS DOS-operativsystemet, är CP866-kodningen ("CP" -kodssida "," kodsida ").

Apples datorer som kör Mac OS operativsystemet använder sin egen MAC-kodning.

Dessutom godkände den internationella standardiseringsorganisationen ISO) en annan kodning som heter ISO 8859-5 som en standard för ryska språket.

Den vanligaste för närvarande är Microsoft Windows-kodningen, betecknad med minskningen av CP1251.

Sedan slutet av 90-talet löses problemet med standardisering av symbolkodning genom införandet av en ny internationell standard som heter Unicode.. Detta är en 16-bitars kodning, d.v.s. I det ges varje symbol 2 byte av minnet. Naturligtvis mängden minne som upptas av 2 gånger. Men det här kodtabellen kan du aktivera upp till 65536 tecken. Den fullständiga specifikationen av Unicode-standarden innehåller alla befintliga, utdöda och artificiellt skapade alfabeter i världen, liksom många matematiska, musikaliska, kemiska och andra symboler.

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

Intern ordvisning i datorminne

Ibland händer det att texten som består av bokstäverna i det ryska alfabetet, som erhållits från en annan dator, kan inte läsas - vissa "Abrakadabra" kan vara synligt på skärmen. Detta händer eftersom datorerna använder olika kodningar av symbolerna på det ryska språket.

Hej, kära bloggläsare hemsida. Idag kommer vi att prata med dig om var Krakoyarbra kommer ifrån och i program, vilka textkodningar finns och vilken av dem ska användas. Låt oss i detalj överväga deras utvecklingshistoria, allt från den grundläggande ASCII, samt dess utökade versioner av CP866, Koi8-R, Windows 1251 och slutar med moderna koder för Unicode UTF 16 och 8-konsortiet.

Någon som denna information kan tyckas onödig, men du skulle veta hur mycket frågor som kommer till mig exakt oroade sprickorna (läser inte en uppsättning tecken). Nu får jag möjlighet att skicka alla till texten i den här artikeln och självständigt söka efter dina shoals. Tja, gör dig redo att absorbera informationen och försöka övervaka berättelsen.

ASCII - Basic Latiza Textkodning

Utvecklingen av textkodningar inträffar samtidigt med bildandet av IT-industrin, och under den här tiden hade de tid att genomgå en hel del förändringar. Historiskt började allt med en ganska skadlig i ryska uttal av EBCDIC, vilket gjorde det möjligt att koda bokstäverna i det latinska alfabetet, arabiska nummer och skiljetecken med kontrollsymboler.

Men fortfarande utgångspunkten för utvecklingen av moderna textkodningar bör betraktas som en berömd ASCII. (Amerikansk standardkod för informationsutbyte, som i ryska brukar uttalas som "Aski"). Det beskriver de första 128 tecknen från de vanligaste engelsktalande användarna - latinska bokstäver, arabiska nummer och skiljetecken.

Även i dessa 128 tecken som beskrivs i ASCII, krossades vissa servicesymboler av parentes, gitter, asterisker etc. Egentligen kan du själv se dem:

Det är dessa 128 tecken från den ursprungliga versionen av ASCII har blivit standard, och i någon annan kodning kommer du definitivt att träffas och stå för att de kommer att vara på ett sådant sätt.

Men faktum är att med hjälp av en byte av informationen kan du koda inte 128, men så många som 256 olika värden (två gånger i graden åtta är 256), så ett stort antal uppträdde efter den grundläggande versionen av Ask avancerade kodningar ASCIIFörutom 128 huvudskyltar var det också möjligt att koda de nationella kodningssymbolerna (till exempel ryska).

Här är det förmodligen värt lite mer om nummer-systemet som används i beskrivningen. Först, som du vet allt, fungerar datorn endast med siffror i ett binärt system, nämligen med nollor och enheter ("Boulev Algebra", om någon som hölls på institutet eller i skolan). Var och en är en avsikt i en examen, börjar med noll och till två i den sjunde:

Det är inte svårt att förstå att alla möjliga kombinationer av nollor och enheter i en sådan design bara kan vara 256. Översätt numret från det binära systemet i decimal är ganska enkelt. Det är nödvändigt att helt enkelt vika alla viktiga grader över det som står.

I vårt exempel visar det sig 1 (2 till graden av noll) plus 8 (två till grader 3), plus 32 (två gånger i femte graden), plus 64 (i den sjätte) plus 128 (i den sjunde) . Totalt mottar 233 i ett decimaltalsystem. Som du kan se är allt väldigt enkelt.

Men om du tittar på bordet med ASCII-tecken ser du att de presenteras i hexadecimal kodning. Till exempel motsvarar "asterisken" paradiset av ett hexadecimalt nummer 2a. Förmodligen vet du att i ett hexadecimalt talsystem används de latinska bokstäverna från A (betyder tio) till F (betyder femton) i ett hexadecimalt talsystem.

Tja, så för Översätt binära siffror i hexadecimal Utväg till nästa enkla och visuella sätt. Varje byte av information bryts i två delar av fyra bitar, som visas i skärmdumpen ovan. Så I varje hälft av byten kan binärkoden endast koda i sexton värden (två i fjärde graden), som lätt kan representeras av hexadecimal.

Vidare, i den vänstra halvan av byte, kommer det dessutom att vara nödvändigt att överväga utsträckning igen från noll, och inte som visas i skärmdumpen. Som ett resultat, med icke-bra databehandling, får vi att numret E9 kodas i skärmdumpen. Jag hoppas att kursen av min resonemang och stelning av denna rebus var du förståelig. Tja, nu fortsätter vi, pratar faktiskt om textkodningen.

Utökade versioner av ASKI - CP866 och KOI8-R-kodning med pseudografering

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

Inledningsvis lades det bara 128 tecken på det latinska alfabetet, arabiska tal och något annat där, men i den utökade versionen var det möjligt att använda alla 256 värden som kan kodas i en pateinformation. De där. Ett tillfälle att lägga till symboler för hans tungabrev till Aska.

Här kommer det att bli nödvändigt att återigen distraheras för att klargöra - varför behöver du kodning Texter och varför det är så viktigt. Tecknen på skärmen på din dator bildas på grundval av två saker - uppsättningar av vektorformer (representationer) av alla typer av tecken (de är i filer co) och kod som låter dig dra ut den här uppsättningen vektorformer ( Fontfil) Det är karaktären att sättas in i rätt plats.

Det är uppenbart att teckensnitt är ansvariga för vektorformerna, men det operativsystem och program som används i den är ansvariga för kodning. De där. Varje text på din dator kommer att vara en uppsättning byte i var och en av vilka en enda symbol för den här texten kodas.

Programmet som visar den här texten på skärmen (textredigerare, webbläsare etc.), när du analyserar koden, läser den kodningen av nästa tecken och söker efter den vektorformulär som motsvarar den i önskad teckensnitt som är ansluten till Visa det här textdokumentet. Allt är enkelt och trite.

Så, för att koda varje symbol vi behöver (till exempel från det nationella alfabetet), måste två villkor vara färdiga - vektorformen för detta tecken bör vara i det använda teckensnittet och den här symbolen kan kodas i de utökade ASCII-kodningarna i en byte . Därför finns det en hel massa sådana alternativ. Endast för kodning av symbolerna på det ryska språket finns det flera sorter av förlängda röv.

Till exempel uppträdde initialt CP866.Där det var möjligt att använda symbolerna på det ryska alfabetet och det var en utökad version av ASCII.

De där. Dess övre del sammanfölls med den grundläggande versionen av ASKI (128 symboler av latin, siffror och till och med alla Labuda), som representeras på skärmdumpen något högre, men redan den nedre delen av CP866-kodningsbordet hade den angivna i skärmdumpen Något under vyn och tillåtet att koda ytterligare 128 tecken (ryska bokstäver och eventuella pseudografiska):

Se, i den högra kolumnen börjar siffrorna med 8, eftersom Numren från 0 till 7 refererar till basdelen av ASCII (se den första skärmdumpen). Så Det ryska brevet "M" i CP866 kommer att ha kod 9c (det är på skärningspunkten för motsvarande rader med 9 och kolumnen med ett nummer C i ett hexadecimalt talsystem), som kan skrivas i en byteinformation och om Det finns ett lämpligt teckensnitt med ryska tecken, det här brevet utan problem kommer att visas i texten.

Var kom denna kvantitet från pseudografer i CP866.? Det är allt det faktum att denna kodning för rysk text utvecklades i de ljusa åren, när det inte fanns någon sådan fördelning av grafiska operativsystem som nu. Och i doss, och liknande textverksamhet, diversifierar den pseudografiska som åtminstone på något sätt diversifierar konstruktionen av texter och därmed vimlar det med CP866 och alla sina andra rader från utsläpp av utökade versioner av ASKA.

CP866 distribuerat IBM-företag, men dessutom, ett antal kodningar utvecklades för symbolerna på det ryska språket, till exempel, samma typ (förlängd ASCII) kan tillskrivas Koi8-r.:

Principen för sitt arbete var detsamma som CP866 som beskrivs senare - varje textsymbol kodas av en enda byte. Skärmdumpen visar den andra halvan av KOI8-R-tabellen, eftersom Den första halvan är helt förenlig med basen ASUS, som visas på den första skärmdumpen i den här artikeln.

Bland funktionerna i Koi8-R-kodning kan det noteras att de ryska bokstäverna i bordet inte är i alfabetisk ordning, så här, till exempel, gjord i CP866.

Om du tittar på den allra första skärmdumpen (basdel, som kommer in i alla utökade kodningar), märker du att i Koi8-R är ryska bokstäver i samma tabeller i tabellen som bokstäverna i det latinska alfabetet från den första delen av bordet. Detta gjordes för bekvämligheten att byta från ryska symboler till latin genom att kassera endast en bit (två i den sjunde graden eller 128).

Windows 1251 - En modern version av ASCII och varför sprickor går ut

Ytterligare utveckling av textkodningar berodde på det faktum att grafiska operativsystem och behovet av att använda pseudografi i dem var populär. Som ett resultat uppstod en hel grupp, som i sin kärna fortfarande var avancerade versioner av ASKI (en text symbol kodas med endast en bystra av information), men utan att använda pseudografiska tecken.

De behandlade den så kallade ANSI-kodningen, som utvecklades av American Institute for Standardization. Namnet på Cyrillic användes fortfarande i det omgivande för ett alternativ med stöd från det ryska språket. Ett exempel på ett sådant exempel.

Det var positivt annorlunda än den tidigare använda CP866 och KOI8-R, eftersom platsen för karaktärerna i den pseudografiska i den tog de saknade symbolerna för den ryska typografin (det minskande tecknet), liksom de symboler som används i närheten av ryska slaviska Språk (ukrainska, vitryska, etc.):

På grund av ett sådant överflöd av kodningen av det ryska språket hade tillverkarna av teckensnitt och mjukvarufabrikanter ständigt huvudvärk, och med dig, kära läsare, fick ofta de mest berömda krakoyabryNär förvirringen lärdes med den version som användes i texten.

Mycket ofta kom de ut när de skickade och ta emot meddelanden via e-post, vilket resulterade i att skapa mycket komplexa transkodbord, som i själva verket inte kunde lösa detta problem i roten, och ofta användes användarna för korrespondens för att undvika berömda Krakozyabs när de användes Ryska kodningar Liknande CP866, KOI8-R eller Windows 1251.

I huvudsak var Krakoyarbra, som ger istället för rysk text, resultatet av den felaktiga användningen av kodningen av detta språk, vilket inte matchade den där textmeddelandet kodades initialt.

Antag om symboler som kodas med CP866, försök att visa med hjälp av fönstret Windows 1251, då de mest krackade (meningslösa uppsättningen tecken) och gå ut, helt ersätta meddelandetexten.

En liknande situation är mycket ofta på, forum eller bloggar, när texten med ryska tecken av misstag inte sparas i samma kodning som används på standardwebbplatsen, eller inte i textredigeraren, vilket inte lägger till koden Sebestin inte synlig för det blotta ögat.

I slutändan var en sådan situation med många kodningar och ständigt kryper kranbram, många trötta, det var förutsättningar för att skapa en ny universell variation, vilket skulle ha ersatt alla befintliga och lösa, äntligen, till roten till problemet med tillkomsten av inte läsbara texter. Dessutom fanns ett problem med liknande kineser, där symbolerna på språket var mycket mer än 256.

Unicode (Unicode) - Universal CODES UTF 8, 16 och 32

Dessa tusentals tecken på språkkoncernen i Sydostasien kunde inte beskrivas i en PAPE-information som tilldelades för kodning av tecken i avancerade ASCII-versioner. Som ett resultat skapades ett konsortium kallat Unicode (Unicode - Unicode Consortium) i samarbetet av många IT-ledare för industrin (de som producerar en programvara som kodar i järn, som skapar teckensnitt) som var intresserade av en universell textkodning.

Den första variationen som publicerades under Unicode-konsortiets regi var UTF 32.. Den siffra i kodens namn betyder antalet bitar som används för att koda en symbol. 32 bitar är 4 byte av information som behövs för att koda ett enda tecken i den nya Universal UTF-kodningen.

Som ett resultat kommer samma fil med texten som kodas i den utökade versionen av ASCII och UTF-32 i det senare fallet att ha storleken (väga) fyra gånger mer. Det är dåligt, men nu har vi möjlighet att koda antalet tecken som motsvarar två till trettio andra grader med hjälp av UTF ( miljarder teckenvilket kommer att täcka något verkligt värde med en kolossal marginal).

Men många länder med den europeiska gruppens språk har ett så stort antal tecken att använda i kodningen alls och det var inte nödvändigt att, när de använde UTF-32, fick de inte en fyra-timmars ökning I vikten av textdokument, och som ett resultat, en ökning av Internettrafik och volymen lagrade data. Det här är mycket, och ingen har råd med sådant avfall.

Som ett resultat av utvecklingen av Unicode uppträdde UTF-16som visade sig så framgångsrik som antogs som standard som ett grundläggande utrymme för alla tecken som vi använder. Den använder två byte för att koda ett tecken. Låt oss se hur den här saken ser ut.

I Windows-operativsystemet kan du passera längs sökvägen "Start" - "Program" - "Standard" - "Service" - "Teckenbord". Som ett resultat öppnas ett bord med vektorformer av alla installerade i dina teckensnitt. Om du väljer i "Extra parametrar" En uppsättning Unicode-tecken kan du se för varje teckensnitt separat hela sortimentet av tecken som ingår i den.

Förresten, klicka på någon av dem, kan du se det två-av kod i UTF-16-formatbestående av fyra hexadecimala siffror:

Hur många tecken kan kodas i UTF-16 med 16 bitar? 65 536 (två till sexton), och detta nummer togs för det grundläggande utrymmet i Unicode. Dessutom finns det sätt att koda med det och cirka två miljoner tecken, men begränsat till det expanderade utrymmet i en miljon textsymboler.

Men även den här framgångsrika versionen av Unicode-kodningen gav inte mycket tillfredsställelse med dem som till exempel skrev, eftersom de, efter att ha bytte från den utökade versionen av ASCII till UTF-16, ökade dokumentets vikt två gånger (En byte per en symbolen i Aski och två byte på samma symbol i UTF-16).

Det är det just att tillfredsställa alla och allt i Unicode-konsortiet bestämdes att komma med kodning av variabel längd. Hon kallades UTF-8. Trots de åtta i titeln har det verkligen en variabel längd, d.v.s. Varje textymbol kan kodas i en sekvens av en till sex byte.

I praktiken använder UTF-8 endast ett intervall från en till fyra byte, eftersom det inte finns något teoretiskt möjligt att skicka in något till de fyra byte av koden. Alla latinska skyltar kodas i en byte, liksom i den gamla goda ASCII.

Vad som är anmärkningsvärt, i fallet med kodning bara latin, även de program som inte förstår Unicode fortfarande läser det som kodas i UTF-8. De där. Den grundläggande delen av ASKA bytte helt enkelt till detta av Unicode-konsortiet.

Cyrilliska tecken i UTF-8 kodas i två byte, och till exempel Georgian - i tre byte. Unicode-konsortiet efter skapandet av UTF 16 och 8 bestämde huvudproblemet - nu har vi i teckensnitt finns ett enda kodutrymme. Och nu är deras tillverkare bara på grundval av sina styrkor och möjligheter att fylla den med vektorformer av textymboler. Nu i uppsättningarna även.

I symbolbordet nedan kan det ses att olika teckensnitt stöder ett annat antal tecken. Vissa symboler på Unicode-teckensnitt kan väga mycket bra. Men nu är de inte avsedda av det faktum att de skapas för olika kodningar, men av det faktum att teckensnittstillverkaren fyllde eller inte fyllde det enda kodutrymmet av de eller andra vektorformerna till slutet.

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

Låt oss nu se hur Crakozyabe-texten visas istället för texten eller, med andra ord hur rätt kodning väljs för rysk text. Egentligen är den inställd i det program där du skapar eller redigerar samma text, eller kod med textfragment.

För att redigera och skapa textfiler, använder jag personligen mycket bra, enligt min mening. Det kan dock belysa syntaxen fortfarande bra hundratals programmeringsspråk och markering, och har också möjlighet att expandera med plugins. Läs en detaljerad översikt över detta underbara program under länken.

I Notepad ++ Toppmenyn finns det ett "kodnings" -objekt, där du får möjlighet att konvertera ett befintligt alternativ till en som används på din standardwebbplats:

När det gäller en plats på Joomla 1.5 och över, såväl som i fallet med en blogg på WordPress, bör du välja alternativet för att undvika Krakoyars utseende UTF 8 utan BOM. Vad är BOM-prefixet?

Faktum är att när ETF-16-kodningen utvecklades, av någon anledning att fästa en sådan sak för det som förmågan att spela in en symbolkod, både i direkt sekvens (till exempel 0A15) och i omvänd (150A) . Och för att programmen ska kunna förstå vilka sekvensläsningskoder och uppfanns Bom. (Byte Order Mark eller, med andra ord, signatur), som uttrycktes för att lägga till ytterligare tre byte till början av dokumenten.

I UTF-8-kodningen fanns det ingen BOM i Unicode-konsortiet och därmed lägga till signatur (dessa mest berömda ytterligare tre byte till början av dokumentet). Vissa program förhindrar bara att du läser koden. Därför måste vi alltid, när du sparar filer i UTF, måste du välja ett alternativ utan BOM (utan signatur). Så du är i förväg mustrase dig själv från crackering.

Det som är anmärkningsvärt, vissa program i Windows vet inte hur man gör det (kan inte spara text i UTF-8 utan BOM), till exempel samma berömda anteckningsfönster. Det sparar dokumentet i UTF-8, men lägger fortfarande till signatur till början (tre ytterligare byte). Dessutom kommer dessa byte alltid att vara desamma - läs koden i direkt sekvens. Men på servrarna, på grund av dessa små saker, kan det finnas ett problem - sprickor kommer att komma ut.

Därför, i inget fall använd inte de vanliga bärbara fönstren För att redigera dokument på din webbplats, om du inte vill ha utseendet på Krakoyarbra. Jag anser det senaste och enklaste alternativet för den redan nämnda anteckningsblocket ++, som praktiskt taget inte har nackdelar och består av en av fördelarna.

I Notepad ++ När du väljer en kodning får du möjlighet att konvertera text till UCS-2-kodningen, som ligger mycket nära Unicode-standarden i huvudsak. Även i en icke-typ kan kodas i ANSI, d.v.s. Med hänvisning till det ryska språket kommer detta att redan beskrivas av oss precis ovanför Windows 1251. Var kommer denna information från?

Det stavas ut i registret för ditt Windows-operativsystem - som kodar är att välja när det gäller ANSI, vad man ska välja när det gäller OEM (för det ryska språket blir det CP866). Om du installerar ett annat standardspråk på din dator, kommer dessa kodningar att ersättas med liknande ANSI eller OEM-utsläpp för samma språk.

Efter dig i Notepad ++, spara dokumentet i den kodning du behöver eller öppna ett dokument från webbplatsen för att redigera, sedan i nedre högra hörnet av redigeraren kan du se sitt namn:

För att undvika KrakoyarbrovFörutom de ovan beskrivna åtgärderna kommer det att vara användbart att registrera sig i sin rubrik på källkoden på alla sidor av webbplatsinformationen om den här kodningen för att servern eller den lokala värden inte uppstår.

I allmänhet, på alla språk av hypertext som markerar annat än HTML, används en speciell XML-annons, vilket anger textkodningen.

Innan du börjar demontera koden kommer webbläsaren att ta reda på vilken version som används och hur exakt du behöver tolka koderna för tecknen på det här språket. Men det som är anmärkningsvärt, om du sparar dokumentet i standard Unicode, 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).

I fallet med ett dokument på HTML-språket för att ange den använda kodningen metaelementsom är ordinerat mellan öppnings- och stängningshuvudet:

... ...

Denna post är helt annorlunda än den accepterade B, men motsvarar helt den nyligen introducerade långsamt av HTML 5-standarden, och det kommer absolut att förstås korrekt av de webbläsare som används för närvarande.

I teorin är metaelementet med en indikation på HTML-kodningen av dokumentet att bli bättre att sätta så hög som möjligt i dockningsrubrikenSå att vid tidpunkten för mötet i texten i det första tecknet är inte från den grundläggande ANSI (som alltid läser alltid och i någon variation) måste webbläsaren redan ha information om hur man tolkar koderna för dessa tecken.

Lycka till! Till tvetydiga möten på webbplatsen Blogg Pages

se fler rullar du kan fortsätta
");">

Du kanske är intresserad

Vad är URL-adresserna än skillnaden mellan absoluta och relativa länkar för webbplatsen
OpenServer är en modern lokal server och ett exempel på att använda WordPress för att installera på en dator
Vad är Chmod, som får rättigheter att tilldela filer och mappar (777, 755, 666) och hur man gör genom PHP
Sök Yandex på plats och webbutik

[8-bitars kodningar: ASCII, KOI-8R och CP1251] De första kodningstabeller som skapades i USA använde inte den åttonde biten i pateen. Texten presenterades som en sekvens av byte, men den åttonde biten beaktades inte (det ansökte om officiella ändamål).

Bordet har blivit en allmänt accepterad standard. ASCII. Amerikansk standardkod för informationsutbyte). De första 32 ASCII-tabellsymbolerna (från 00 till 1f) användes för icke-utskrivbara tecken. De var utformade för att styra utskriftsenheten etc. Resten är från 20 till 7F - de vanliga (tryckta) tecknen.

Tabell 1 - ASCII-kodning

DecHex.Okt.Röding.Beskrivning.
0 0 000 nULL
1 1 001 början på rubriken.
2 2 002 start av text.
3 3 003 slutet av texten.
4 4 004 slutet av överföringen.
5 5 005 förfrågan.
6 6 006 erkänna.
7 7 007 klocka.
8 8 010 backspace.
9 9 011 horisontell flik.
10 A. 012 nY LINJE
11 B. 013 vertikal flik.
12 C. 014 ny sida
13 D. 015 vagnretur.
14 E. 016 flytta ut.
15 F. 017 shift in.
16 10 020 data Link Escape.
17 11 021 enhetskontroll 1.
18 12 022 enhetskontroll 2.
19 13 023 enhetskontroll 3.
20 14 024 enhetskontroll 4.
21 15 025 negativ bekräftelse.
22 16 026 synkron tomgång
23 17 027 slutet av trans. blockera
24 18 030 avbryt
25 19 031 slutet av mediet
26 1a. 032 ersättning.
27 1b. 033 fly.
28 1c. 034 fileparator.
29 1d. 035 gruppseparator.
30 1e. 036 spela in separator.
31 1f. 037 enhetseparator.
32 20 040 plats.
33 21 041 !
34 22 042 "
35 23 043 #
36 24 044 $
37 25 045 %
38 26 046 &
39 27 047 "
40 28 050 (
41 29 051 )
42 2a. 052 *
43 2b. 053 +
44 2c. 054 ,
45 2D. 055 -
46 2e. 056 .
47 2f. 057 /
48 30 060 0
49 31 061 1
50 32 062 2
51 33 063 3
52 34 064 4
53 35 065 5
54 36 066 6
55 37 067 7
56 38 070 8
57 39 071 9
58 3a 072 :
59 3b. 073 ;
60 3c. 074 <
61 3d 075 =
62 3e. 076 >
63 3f. 077 ?
DecHex.Okt.Röding.
64 40 100 @
65 41 101 A.
66 42 102 B.
67 43 103 C.
68 44 104 D.
69 45 105 E.
70 46 106 F.
71 47 107 G.
72 48 110 H.
73 49 111 Jag
74 4a. 112 J.
75 4b. 113 K.
76 4c. 114 L.
77 4D. 115 M.
78 4e. 116 N.
79 4f. 117 O.
80 50 120 P.
81 51 121 Q.
82 52 122 R.
83 53 123 S.
84 54 124 T.
85 55 125 U.
86 56 126 V.
87 57 127 W.
88 58 130 X.
89 59 131 Y.
90 5a 132 Z.
91 5b. 133 [
92 5c. 134 \
93 5d. 135 ]
94 5e. 136 ^
95 5f. 137 _
96 60 140 `
97 61 141 a.
98 62 142 b.
99 63 143 c.
100 64 144 d.
101 65 145 e.
102 66 146 f.
103 67 147 g.
104 68 150 h.
105 69 151 jag
106 6a 152 j.
107 6b. 153 k.
108 6c. 154 l.
109 6d. 155 m.
110 6e. 156 n.
111 6f. 157 o.
112 70 160 p.
113 71 161 q.
114 72 162 r.
115 73 163 s.
116 74 164 t.
117 75 165 u.
118 76 166 v.
119 77 167 w.
120 78 170 x.
121 79 171 y.
122 7a. 172 z.
123 7b. 173 {
124 7c. 174 |
125 7D. 175 }
126 7e. 176 ~
127 7f. 177 Del.

Det är lätt att märka, bara latinska bokstäver presenteras i denna kodning, och de som används på engelska. Det finns också aritmetiska och andra servicetecken. Men det finns varken ryska bokstäver, eller även speciella latinska för tyska eller franska. Det är lätt att förklara - kodningen utvecklades som en amerikansk standard. När datorer började appliceras över hela världen var det nödvändigt att koda andra tecken.

För att göra detta bestämdes det att använda den åttonde biten i varje pate. Således var 128 fler värden tillgängliga (från 80 till FF), som kunde användas för att koda tecken. Den första av de åtta bitarna är "avancerad ASCII" ( Utökad ASCII.) - inkluderade olika varianter av latinska tecken som används på vissa språk i Västeuropa. Det hade också andra ytterligare tecken, inklusive pseudografiska.

Pseudografiska tecken gör att du bara kan visa textsymboler på skärmen, ge någon likhet grafik. Med hjälp av pseudografi, till exempel ett program för hantering av FAR Manager-filer.

Ryska bokstäver i det utökade ASCII-tabellen var inte. I Ryssland (tidigare - USSR) och i andra stater skapades deras kodningar, vilket möjliggjorde de specifika "nationella" symbolerna i 8-bitars textfiler - de latinska bokstäverna på polska och tjeckiska språk, cyrillic (inklusive ryska bokstäver) och andra alfabeter .

I alla kodningar som mottog fördelningen sammanfaller de första 127 tecknen (dvs byte värden vid en åtta bit lika med 0) med ASCII. Således fungerar ASCII-filen i någon av dessa kodningar; Bokstäverna på det engelska språket i dem är representerade lika.

Organisation Iso. Internationell standardiseringsorganisation - Internationell organisation för standarder) antog en grupp av standarder ISO 8859.. Det definierar 8-bitars kodningar för olika språkgrupper. Så, ISO 8859-1 är en utökad ASCII, ett bord för USA och Västeuropa. Och ISO 8859-5 - bord för kyrillic (inklusive ryska).

Men med historiska skäl passade ISO 8859-5 kodning inte. Verkligen används följande kodningar för ryska språket:

Kod Page 866 ( CP866.), hon är "dos", det är "alternativ gostkodning". Det användes allmänt fram till mitten av 90-talet; Nu används det begränsat. Gäller praktiskt taget för att distribuera texter på Internet.
- KOI-8. Utvecklad på 70-talet och 1980-talet. Det är en allmänt accepterad standard för att skicka mailmeddelanden på det ryska Internet. Det är också allmänt tillämpat i operativsystemen i UNIX-familjen, inklusive Linux. Alternativ KOI-8, beräknad på ryska, kallas KOI-8R.; Det finns versioner för andra kyrilliska språk (så, koi8-u är ett alternativ för det ukrainska språket).
- Kod Page 1251, CP1251, Windows-1251. Utvecklad av Microsoft för att stödja det ryska språket i Windows-systemet.

Den huvudsakliga fördelen med CP866 var att bevara karaktärerna hos pseudografiska på samma ställen som i förlängd ASCII; Därför kan utländska textprogram fungera utan förändringar, till exempel den berömda Norton-befälhavaren. Nu används CP866 för Windows-program som körs i textfönster eller helskärmsläge, inklusive FAR Manager.

Texter i CP866 de senaste åren är ganska sällsynta (men det används för att koda ryska filnamn i Windows). Därför kommer vi att bo på två andra kodningar - KOI-8R och CP1251.



Som du kan se, i CP1251-kodningsbordet är ryska bokstäver ordnade i alfabetisk ordning (förutom, dock bokstäverna i E). Tack vare den här platsen sorterar datorprogrammen mycket helt enkelt enligt alfabetet.

Men i KOI-8R verkar ordningen av ryska bokstäver slumpmässigt. Men det är faktiskt inte.

I många gamla program gick den 8: e biten under bearbetning eller överföring av text. (Nu är sådana program praktiskt taget "utdöda", men i slutet av 80-talet - tidigt 90-talet var de utbredda). För att få ett 7-bitars värde från ett 8-bitars värde är det tillräckligt att ta bort från senior figur 8; Till exempel blir E1 till 61.

Och jämför nu KOI-8R med ASCII-tabellen (tabell 1). Du kommer att upptäcka att ryska bokstäver är inställda i en tydlig match med latin. Om den åttonde biten försvinner, blir de små ryska bokstäverna till titeln Latin och huvudstaden ryssar i den små bokstaven. Så, E1 i KOI-8 är ryska "A", medan 61 i ASCII - Latin "A".

Så, KOI-8 låter dig behålla läsbarheten hos den ryska texten med förlusten av de 8: e bitarna. "Hej alla" blir "priwet wsem".

Nyligen förlorade den alfabetiska ordningen av symboler i kodningsbordet och läsbarheten med förlusten av den 8: e biten avgörande betydelse. Den åttonde biten i moderna datorer går inte förlorad under överföring eller under bearbetning. Och sortering av alfabetiskt görs med hänsyn till kodningen och inte en enkel jämförelse av koderna. (Förresten är CP1251-koderna inte helt alfabetiskt - bokstaven ё är inte på plats).

På grund av det faktum att två vanliga kodningar visade sig vara två, när de arbetar med Internet (mail, visning av webbplatser), är det ibland möjligt att se en meningslös uppsättning bokstäver istället för rysk text. Till exempel, "Jag kommer att foderfamhel." Det här är bara orden "med respekt"; Men de kodades i kodningen CP1251, och datorn avkodade texten på KOO-8-tabellen. Om samma ord var, tvärtom, kodas i koo-8, och datorn avkodade texten på CP1251-tabellen, kommer resultatet att vara "vid Hchbceien".

Ibland händer det att datorn dekrypterar rysktalande brev och alls på ett bord som inte är avsett för det ryska språket. Sedan, istället för ryska bokstäver, visas en meningslös uppsättning tecken (till exempel latinska bokstäver på östeuropeiska språk); De kallas ofta "crocamers".

I de flesta fall hanterar moderna program definitionen av kodningar av Internet-dokument (e-postbokstäver och webbsidor) på egen hand. Men ibland ger de en ondska ", och då kan du se de konstiga sekvenserna av ryska bokstäver eller" crochematical ". Som regel, i en sådan situation, för att visa den här texten, är det tillräckligt att välja kodning manuellt i programmenyn.

För artikeln användes sidan http://open-Office.edusite.ru/textprocessor/p5aa1.html.

Materialet tas från platsen:

Excel för Office 365 Word för Office 365 Outlook för Office 365 PowerPoint for Office 365 Utgivare för Office 365 Excel 2019 Word 2019 Outlook 2019 PowerPoint 2019 OneNote 2016 Publisher 2019 Visio Professional 2019. Visio Standard 2019. Excel 2016 Word 2016 Outlook 2016 PowerPoint 2016 OneNote 2013 Publisher 2016 Visio 2013 Visio Professional 2016. Visio Standard 2016. Excel 2013 Word 2013 Outlook 2013 PowerPoint 2013 Utgivare 2013 Excel 2010 Word 2010 Outlook 2010 PowerPoint 2010 OneNote 2010 Publish 2010 Visio 2010 Excel 2007 Word 2007 Outlook 2007 PowerPoint 2007 Utgivare 2007 Tillgång 2007 Visio 2007 OneNote 2007 Office 2010 Visio Standard 2007 Visio Standard 2010. Mindre

I den här artikeln

Sätt in en ASCII eller Unicode-symbol i ett dokument

Om du behöver ange bara några specialtecken eller tecken kan du använda eller genvägsknappar. För en lista med tecken ASCII, se följande tabeller eller artikel Infoga brev av nationella alfabet med hjälp av tangentbordsgenvägar.

Anmärkningar:

ASCII-teckeninsats

För att infoga ASCII-symbolen, tryck och håll ner ALT-tangenten, trycker på symbolkoden. Till exempel, för att infoga en examenssymbol (º), tryck och håll ner ALT-tangenten och ange 0176 på det numeriska tangentbordet.

För att ange siffror, använd ett digitalt tangentbord, inte siffrorna på huvudtangentbordet. Om du behöver ange siffror på det numeriska tangentbordet, se till att Num Lock-indikatorn är aktiverad.

Infoga symboler för Unicode

För att infoga Unicode-symbolen anger du teckenkoden och trycker sedan på ALT och X-tangenterna. Till exempel, för att infoga en dollar symbol ($), skriv 0024 och tryck på alt och x-tangenterna. Alla Unicode-teckenkoder ser.

Viktig: Vissa Microsoft Office-program, som PowerPoint och Infopath, stöder inte omvandlingen av Unicode-koder till tecken. Om du behöver infoga en Unicode-symbol i ett av dessa program, använd.

Anmärkningar:

    Om, efter att du har tryckt på ALT + X-tangenterna, visas en felaktig Unicode-symbol, välj rätt kod och tryck sedan på Alt + X igen.

    Dessutom bör framför koden introduceras "U +". Om du till exempel skriver in "1U + B5" och trycker på ALT + X-tangenterna visas texten "1μ", och om du anger "1B5" och tryck på alt + X-tangenterna, visas "ƶ" -symbolen.

Använda ett symboltabell

Ett symbolbord är ett program som är inbyggt i Microsoft Windows som låter dig visa tecken tillgängliga för det valda teckensnittet.

Med hjälp av teckenbordet kan du kopiera enskilda tecken eller en grupp tecken till urklippet och sätt in dem i vilket program som stöder visning av dessa tecken. Öppnar ett teckenbord

    I Windows 10. Ange ordet "Symbol" i sökfältet på aktivitetsfältet och välj teckentabellen i sökresultaten.

    I Windows 8. Ange ordet "Symbol" på den ursprungliga skärmen och välj teckentabellen i sökresultaten.

    I Windows 7. tryck på knappen StartSekventiellt välj Alla program, Standard, Service och klicka på symboltabell.

Symboler är grupperade i teckensnitt. Klicka på listan Font för att välja en lämplig uppsättning tecken. För att välja en symbol, klicka på den och klicka sedan på Välja. För att infoga ett tecken, högerklicka på önskad plats i dokumentet och välj Föra in.

Ofta använda symbolkoder

För en fullständig lista med tecken, se på en dator, ASCII-symbolkoder Tabell- eller Unicode-teckenbord, beställda av uppsättningar.

Glyf

Glyf

Kontantenheter

Juridiska symboler

Matematiska symboler

Drobi.

Skiljetecken och dialektymboler

Symboler av form

Används ofta diakritiska teckenkoder

Hela listan över glyphs och relevanta koder, se.

Glyf

Glyf

Otryckbara ASCII-hanteringsskyltar

Tecken som används för att styra några kringutrustning, till exempel skrivare, i ASCII-tabellen har siffror 0-31. Till exempel motsvarar sidans översättning / ny sida nummer 12. Detta tecken anger skrivaren för att gå till början av nästa sida.

Tabell över otryckbara hanteringsskyltar ASCII

Decimal nummer

Tecken

Decimal nummer

Tecken

Datakanal befrielse

Starthuvud

Första enhetshanteringskoden

Början av texten

Andra enhetshanteringskoden

Slut på texten

Tredje enhetshanteringskoden

Slut på överföringen

Fjärde enhetshanteringskoden

femspetsig

Negativ bekräftelse

bekräftelsen

Synkronöverföringsläge

Ljudsignal

Slutet av det dataöverförda blocket

Horisontell tabulering

Sändning

Rad / ny rad

Symbol för ersättning

Vertikal tabulering

överstiga

Sidan / ny sida

Tolv

Filseparator

Returvagn

Separatorgrupp

Skift utan att spara utsläpp

Separator Records

Urladdningsskifte

femton

Dataseparator







2021. gtavrl.ru..