Come configurare smartphone e PC. Portale informativo
  • casa
  • Windows 7, XP
  • Tabella codici ascii internazionali. Codifica ASCII (codice standard americano per lo scambio di informazioni) - codifica del testo di base per il latino

Tabella codici ascii internazionali. Codifica ASCII (codice standard americano per lo scambio di informazioni) - codifica del testo di base per il latino

Il computer comprende il processo della sua trasformazione in una forma che consente di organizzare una trasmissione, una memorizzazione o un'elaborazione automatica più conveniente di questi dati. A tale scopo vengono utilizzate diverse tabelle. La codifica ASCII è stato il primo sistema sviluppato negli Stati Uniti per lavorare con il testo inglese, che successivamente si è diffuso in tutto il mondo. L'articolo seguente è dedicato alla sua descrizione, caratteristiche, proprietà e ulteriore utilizzo.

Visualizzazione e memorizzazione di informazioni in un computer

I simboli sul monitor di un computer o di un particolare gadget digitale mobile sono formati sulla base di insiemi di forme vettoriali di vari caratteri e un codice che consente di trovare tra loro il simbolo che deve essere inserito nel posto giusto. È una sequenza di bit. Pertanto, ogni carattere deve corrispondere in modo univoco a un insieme di zeri e uno che stanno in un certo ordine unico.

Come tutto cominciò

Storicamente, i primi computer erano in inglese. Per codificare al loro interno informazioni simboliche, è stato sufficiente utilizzare solo 7 bit di memoria, mentre a questo scopo è stato allocato 1 byte composto da 8 bit. Il numero di caratteri compresi dal computer in questo caso era 128. Questi caratteri includevano l'alfabeto inglese con i suoi segni di punteggiatura, numeri e alcuni caratteri speciali. La codifica a sette bit in lingua inglese con la tabella corrispondente (codepage), sviluppata nel 1963, era chiamata American Standard Code for Information Interchange. Di solito veniva utilizzata l'abbreviazione "codifica ASCII" ed è ancora utilizzata fino ad oggi.

Transizione al multilinguismo

Nel tempo, i computer sono diventati ampiamente utilizzati nei paesi non di lingua inglese. A questo proposito, c'era la necessità di codifiche che consentissero l'uso delle lingue nazionali. Si è deciso di non reinventare la ruota e di prendere l'ASCII come base. La tabella di codifica nella nuova edizione è stata notevolmente ampliata. L'uso dell'8° bit ha permesso di tradurre 256 caratteri in un linguaggio informatico.

Descrizione

La codifica ASCII ha una tabella divisa in 2 parti. Lo standard internazionale generalmente accettato è considerato solo la sua prima metà. Include:

  • Caratteri con numeri di serie da 0 a 31, codificati da sequenze da 00000000 a 00011111. Sono riservati ai caratteri di controllo che controllano il processo di visualizzazione del testo su uno schermo o stampante, emettendo un segnale acustico, ecc.
  • I caratteri con NN nella tabella da 32 a 127, codificati da sequenze da 00100000 a 01111111, costituiscono la parte standard della tabella. Includono uno spazio (N 32), lettere dell'alfabeto latino (minuscole e maiuscole), numeri a dieci cifre da 0 a 9, segni di punteggiatura, parentesi di vari stili e altri simboli.
  • Caratteri con numeri di serie da 128 a 255, codificati da sequenze da 10000000 a 11111111. Includono lettere di alfabeti nazionali diversi dal latino. È questa parte alternativa della tabella di codifica ASCII che viene utilizzata per convertire i caratteri russi in un modulo informatico.

Alcune proprietà

Le particolarità della codifica ASCII includono la differenza tra le lettere "A" - "Z" di minuscolo e maiuscolo con un solo bit. Questa circostanza semplifica notevolmente la conversione del registro, nonché la sua verifica dell'appartenenza a un determinato intervallo di valori. Inoltre, tutte le lettere nel sistema di codifica ASCII sono rappresentate dai propri numeri di serie nell'alfabeto, che sono scritti in 5 cifre nel sistema numerico binario, preceduti da 011 2 per le lettere minuscole e 010 2 per le lettere maiuscole.

Tra le caratteristiche della codifica ASCII può essere annoverata anche la rappresentazione di 10 cifre - "0" - "9". Nel secondo sistema numerico iniziano con 00112 e terminano con 2 valori di numeri. Pertanto, 0101 2 equivale al cinque decimale, quindi il carattere "5" viene scritto come 0011 01012. Sulla base di quanto sopra, puoi facilmente convertire i numeri BCD in una stringa ASCII aggiungendo la sequenza di bit 00112 a ciascun nibble a sinistra.

"unicode"

Come sapete, per visualizzare i testi nelle lingue del gruppo del sud-est asiatico sono necessari migliaia di caratteri. Un tale numero di essi non è in alcun modo descritto in un byte di informazioni, quindi anche le versioni estese di ASCII non potrebbero più soddisfare le crescenti esigenze degli utenti di diversi paesi.

Quindi, c'era la necessità di creare una codifica del testo universale, che è stata sviluppata dal consorzio Unicode in collaborazione con molti leader del settore IT globale. I suoi specialisti hanno creato il sistema UTF 32. In esso sono stati allocati 32 bit per codificare 1 carattere, costituendo 4 byte di informazioni. Lo svantaggio principale era un forte aumento della quantità di memoria richiesta fino a 4 volte, il che comportava molti problemi.

Allo stesso tempo, per la maggior parte dei paesi con lingue ufficiali appartenenti al gruppo indoeuropeo, il numero di caratteri pari a 2 32 è più che ridondante.

Come risultato di un ulteriore lavoro di specialisti del consorzio Unicode, è apparsa la codifica UTF-16. È diventata l'opzione per convertire informazioni simboliche adatta a tutti sia in termini di quantità di memoria richiesta che di numero di caratteri codificati. Ecco perché UTF-16 è stato adottato per impostazione predefinita e richiede la prenotazione di 2 byte per un carattere.

Anche questa versione piuttosto avanzata e di successo di "Unicode" presentava alcuni inconvenienti e, dopo il passaggio dalla versione estesa di ASCII a UTF-16, raddoppiava le dimensioni del documento.

A questo proposito, è stato deciso di utilizzare la codifica a lunghezza variabile UTF-8. In questo caso, ogni carattere del testo sorgente è codificato da una sequenza di lunghezza compresa tra 1 e 6 byte.

Associazione con il codice standard americano per lo scambio di informazioni

Tutti i caratteri dell'alfabeto latino in UTF-8 di lunghezza variabile sono codificati in 1 byte, come nel sistema di codifica ASCII.

Una caratteristica di UTF-8 è che nel caso di testo in latino senza l'uso di altri caratteri, anche i programmi che non capiscono Unicode ne consentiranno comunque la lettura. In altre parole, la parte base della codifica del testo ASCII va semplicemente nel nuovo UTF a lunghezza variabile. I caratteri cirillici in UTF-8 richiedono 2 byte e, ad esempio, quelli georgiani richiedono 3 byte. Creando UTF-16 e 8, è stato risolto il problema principale della creazione di un unico spazio di codice nei caratteri. Da allora, i produttori di font hanno dovuto solo riempire la tabella con forme vettoriali di caratteri di testo in base alle loro esigenze.

Sistemi operativi diversi preferiscono codifiche diverse. Per poter leggere e modificare testi digitati con una codifica diversa, vengono utilizzati programmi di conversione del testo in russo. Alcuni editor di testo contengono transcodificatori incorporati e consentono di leggere il testo indipendentemente dalla codifica.

Ora sai quanti caratteri ci sono in ASCII e come e perché è stato progettato. Naturalmente, oggi lo standard Unicode ha ricevuto la più grande distribuzione al mondo. Tuttavia, non dobbiamo dimenticare che è stato creato sulla base dell'ASCII, quindi va apprezzato il contributo dei suoi sviluppatori nel campo IT.

Secondo l'Unione internazionale delle telecomunicazioni, nel 2016 tre miliardi e mezzo di persone hanno utilizzato Internet con regolarità variabile. La maggior parte di loro non pensa nemmeno al fatto che i messaggi inviati tramite PC o gadget mobili, così come i testi visualizzati su tutti i tipi di monitor, sono in realtà combinazioni di 0 e 1. Questa rappresentazione delle informazioni è chiamata codifica. Fornisce e facilita notevolmente l'implementazione della sua memorizzazione, elaborazione e trasmissione. Nel 1963 è stata sviluppata la codifica ASCII americana, oggetto di questo articolo.

Rappresentazione di informazioni in un computer

Dal punto di vista di qualsiasi computer elettronico, il testo è un insieme di singoli caratteri. Questi includono non solo lettere, comprese le lettere maiuscole, ma anche segni di punteggiatura, numeri. Inoltre, vengono utilizzati i caratteri speciali "=", "&", "(" e gli spazi.

L'insieme di caratteri che compongono il testo è chiamato alfabeto e il loro numero è chiamato potenza (indicata come N). Per determinarlo, viene utilizzata l'espressione N = 2^b, dove b è il numero di bit o il peso dell'informazione di un particolare carattere.

È dimostrato che l'alfabeto con una capacità di 256 caratteri consente di rappresentare tutti i caratteri necessari.

Poiché 256 è l'ottava potenza di 2, il peso di ogni carattere è di 8 bit.

Un'unità di misura di 8 bit è chiamata 1 byte, quindi è consuetudine dire che qualsiasi carattere nel testo memorizzato su un computer occupa un byte di memoria.

Come viene eseguita la codifica

Eventuali testi vengono inseriti nella memoria di un personal computer tramite i tasti della tastiera su cui vengono scritti numeri, lettere, segni di punteggiatura e altri simboli. Vengono trasferiti alla RAM in codice binario, ovvero a ogni carattere viene assegnato un codice decimale familiare agli esseri umani, da 0 a 255, che corrisponde a un codice binario - da 00000000 a 11111111.

La codifica dei caratteri byte per byte consente a un elaboratore di testo di accedere a ciascun carattere individualmente. Allo stesso tempo, 256 caratteri sono sufficienti per rappresentare qualsiasi informazione sui caratteri.

Codifica dei caratteri ASCII

Questa abbreviazione in inglese sta per codice per lo scambio di informazioni.

Anche agli albori dell'informatizzazione, è diventato ovvio che è possibile trovare una varietà di modi per codificare le informazioni. Tuttavia, per trasferire le informazioni da un computer all'altro, è stato necessario sviluppare un unico standard. Così, nel 1963, negli Stati Uniti apparve una tabella di codifica ASCII. In esso, a qualsiasi simbolo dell'alfabeto informatico viene assegnato il suo numero ordinale in rappresentazione binaria. Inizialmente, la codifica ASCII è stata utilizzata solo negli Stati Uniti, per poi diventare lo standard internazionale per PC.

I codici ASCII sono divisi in 2 parti. Solo la prima metà di questa tabella è considerata uno standard internazionale. Include caratteri con numeri di serie da 0 (codificato come 00000000) a 127 (codice 01111111).

Numero di serie

Codifica del testo ASCII

Simbolo

0000 0000 - 0001 1111

I caratteri con N da 0 a 31 sono chiamati caratteri di controllo. La loro funzione è quella di "gestire" il processo di visualizzazione del testo su un monitor o stampante, emettere un segnale acustico, ecc.

0010 0000 - 0111 1111

I simboli con N da 32 a 127 (la parte standard della tabella) sono lettere maiuscole e minuscole dell'alfabeto latino, decima cifra, segni di punteggiatura, nonché varie parentesi, simboli commerciali e altri. Il simbolo 32 indica uno spazio.

1000 0000 - 1111 1111

I caratteri con N da 128 a 255 (parte alternativa della tabella o della tabella codici) possono avere diverse varianti, ognuna delle quali ha un proprio numero. La tabella codici viene utilizzata per specificare alfabeti nazionali diversi dal latino. In particolare, è con il suo aiuto che viene eseguita la codifica ASCII per i caratteri russi.

Nella tabella le codifiche sono maiuscole e si susseguono in ordine alfabetico, mentre i numeri sono in ordine crescente. Questo principio è conservato per l'alfabeto russo.

Personaggi di controllo

La tabella di codifica ASCII è stata originariamente creata per ricevere e trasmettere informazioni su un tale dispositivo che non è stato utilizzato per molto tempo, come una telescrivente. A tal proposito, nel set di caratteri sono stati inseriti caratteri non stampabili, utilizzati come comandi per controllare questo dispositivo. Comandi simili sono stati utilizzati in metodi di messaggistica pre-computer come il codice Morse, ecc.

Il carattere "teletype" più comune è NUL (00, "zero"). È ancora utilizzato nella maggior parte dei linguaggi di programmazione fino ad oggi, denotando il segno della fine di una riga.

Dove viene utilizzata la codifica ASCII?

L'American Standard Code è necessario per qualcosa di più della semplice immissione di informazioni testuali sulla tastiera. Viene utilizzato anche nella grafica. In particolare, nel programma ASCII Art Maker, le immagini di varie estensioni rappresentano uno spettro di caratteri ASCII.

Tali prodotti sono di due tipi: quelli che svolgono la funzione di editor grafici convertendo un'immagine in testo e convertendo i "disegni" in grafica ASCII. Ad esempio, la famosa emoticon è un ottimo esempio di carattere di codifica.

ASCII può essere utilizzato anche durante la creazione di un documento HTML. In questo caso, puoi inserire un determinato set di caratteri e, durante la visualizzazione della pagina, sullo schermo apparirà un carattere che corrisponde a questo codice.

L'ASCII è necessario anche per la creazione di siti multilingue, poiché i caratteri che non sono inclusi in una specifica tabella nazionale sono sostituiti da codici ASCII.

Alcune caratteristiche

Per codificare le informazioni testuali nella codifica ASCII, originariamente venivano utilizzati 7 bit (uno rimaneva vuoto), ma oggi funziona come 8 bit.

Le lettere che si trovano nelle colonne sopra e sotto differiscono l'una dall'altra di un solo bit. Ciò riduce notevolmente la complessità della verifica.

Utilizzo di ASCII in Microsoft Office

Se necessario, questo tipo di codifica delle informazioni testuali può essere utilizzato negli editor di testo Microsoft come Blocco note e Office Word. Tuttavia, durante la digitazione in questo caso, non sarà possibile utilizzare alcune funzioni. Ad esempio, non sarai in grado di renderlo in grassetto, poiché ASCII conserva solo il significato delle informazioni, ignorandone l'aspetto generale e la forma.

Standardizzazione

L'organizzazione ISO ha adottato gli standard ISO 8859. Questo gruppo definisce codifiche a otto bit per diversi gruppi linguistici. In particolare, ISO 8859-1 è Extended ASCII, che è una tabella per gli Stati Uniti e i paesi dell'Europa occidentale. E ISO 8859-5 è una tabella usata per il cirillico, incluso il russo.

Per una serie di ragioni storiche, lo standard ISO 8859-5 è stato utilizzato per un periodo di tempo molto breve.

Per la lingua russa, attualmente vengono utilizzate le codifiche:

  • CP866 (Pagina codice 866) o DOS, che viene spesso definita codifica alternativa GOST. È stato utilizzato attivamente fino alla metà degli anni '90 del secolo scorso. Al momento non è praticamente utilizzato.
  • KOI-8. La codifica è stata sviluppata negli anni '70 e '80 e al momento è lo standard generalmente accettato per i messaggi di posta elettronica in RuNet. È ampiamente utilizzato nella famiglia di sistemi operativi Unix, incluso Linux. La versione "russa" del KOI-8 è chiamata KOI-8R. Inoltre, ci sono versioni per altre lingue cirilliche, come l'ucraino.
  • Codice Pagina 1251 (CP 1251, Windows - 1251). Sviluppato da Microsoft per fornire supporto per la lingua russa in ambiente Windows.

Il vantaggio principale del primo standard CP866 era la conservazione dei caratteri pseudografici nelle stesse posizioni dell'ASCII esteso. Ciò ha consentito di eseguire invariati programmi di testo di fabbricazione straniera, come il noto Norton Commander. Attualmente, CP866 viene utilizzato per programmi sviluppati in Windows che funzionano in modalità testo a schermo intero o in finestre di testo, incluso FAR Manager.

I testi per computer scritti con la codifica CP866 sono stati piuttosto rari ultimamente, ma è quello che viene utilizzato per i nomi di file russi in Windows.

"unicode"

Al momento, questa codifica è la più utilizzata. I codici Unicode sono divisi in regioni. Il primo (da U+0000 a U+007F) include caratteri ASCII con codici. Seguono aree di caratteri di varie scritture nazionali, nonché segni di punteggiatura e simboli tecnici. Inoltre, alcuni codici "Unicode" sono riservati per l'inclusione futura di nuovi caratteri.

Ora sai che nella codifica ASCII, ogni carattere è rappresentato come una combinazione di 8 zeri e uno. Per i non specialisti, queste informazioni possono sembrare inutili e poco interessanti, ma non vuoi sapere cosa sta succedendo nel "cervello" del tuo PC?!

Viene chiamato l'insieme di simboli utilizzati per scrivere il testo in ordine alfabetico.

Il numero di caratteri nell'alfabeto è energia.

La formula per determinare la quantità di informazioni: N = 2b,

dove N è la cardinalità dell'alfabeto (numero di simboli),

b è il numero di bit (peso informativo del simbolo).

Quasi tutti i caratteri necessari possono essere inseriti in un alfabeto con una capacità di 256 caratteri. Questo alfabeto si chiama sufficiente.

Perché 256 = 2 8 , quindi il peso di 1 carattere è 8 bit.

All'unità di misura a 8 bit è stato assegnato un nome 1 byte:

1 byte = 8 bit.

Il codice binario di ogni carattere nel testo del computer occupa 1 byte di memoria.

Come vengono rappresentate le informazioni testuali nella memoria del computer?

La comodità della codifica byte per byte dei caratteri è ovvia, poiché un byte è la parte più piccola della memoria indirizzabile e, pertanto, il processore può accedere a ciascun carattere separatamente durante l'elaborazione del testo. D'altra parte, 256 caratteri sono sufficienti per rappresentare un'ampia varietà di informazioni sui personaggi.

Ora sorge la domanda, quale codice binario a otto bit mettere in corrispondenza di ciascun carattere.

È chiaro che questa è una questione condizionale, puoi trovare molti modi per codificare.

Tutti i simboli dell'alfabeto informatico sono numerati da 0 a 255. Ogni numero corrisponde a un codice binario di otto cifre da 00000000 a 11111111. Questo codice è semplicemente il numero ordinale del carattere nel sistema numerico binario.

Una tabella in cui a tutti i caratteri dell'alfabeto del computer sono assegnati numeri di serie è chiamata tabella di codifica.

Per diversi tipi di computer vengono utilizzate diverse tabelle di codifica.

Il tavolo è diventato lo standard internazionale per PC. ASCII(pronunciato asci) (codice standard americano per lo scambio di informazioni).

La tabella dei codici ASCII è divisa in due parti.

Solo la prima metà della tabella è uno standard internazionale, ad es. caratteri con numeri da 0 (00000000), fino a 127 (01111111).

Struttura della tabella di codifica ASCII

Numero di serie

Il codice

Simbolo

0 - 31

00000000 - 00011111

I caratteri con numeri da 0 a 31 sono chiamati caratteri di controllo.
La loro funzione è controllare il processo di visualizzazione del testo sullo schermo o la stampa, l'emissione di un segnale acustico, il contrassegno del testo, ecc.

32 - 127

00100000 - 01111111

Parte standard della tabella (inglese). Ciò include lettere minuscole e maiuscole dell'alfabeto latino, cifre decimali, segni di punteggiatura, tutti i tipi di parentesi, simboli commerciali e altri.
Il carattere 32 è uno spazio, ad es. posizione vuota nel testo.
Tutto il resto è riflesso da certi segni.

128 - 255

10000000 - 11111111

Parte alternativa della tabella (russo).
La seconda metà della tabella dei codici ASCII, denominata code page (128 codici, che iniziano con 10000000 e terminano con 11111111), può avere diverse opzioni, ogni opzione ha un proprio numero.
La tabella codici viene utilizzata principalmente per ospitare scritture nazionali diverse dal latino. Nelle codifiche nazionali russe, i caratteri dell'alfabeto russo sono inseriti in questa parte della tabella.

Prima metà della tabella dei codici ASCII


Attiro la vostra attenzione sul fatto che nella tabella di codifica, le lettere (maiuscole e minuscole) sono disposte in ordine alfabetico e i numeri sono ordinati in ordine crescente di valori. Questa osservanza dell'ordine lessicografico nella disposizione dei caratteri è chiamata il principio della codifica sequenziale dell'alfabeto.

Per le lettere dell'alfabeto russo si osserva anche il principio della codifica sequenziale.

La seconda metà della tabella dei codici ASCII


Sfortunatamente, ci sono attualmente cinque diverse codifiche cirilliche (KOI8-R, Windows. MS-DOS, Macintosh e ISO). Per questo motivo, sorgono spesso problemi con il trasferimento di testo russo da un computer all'altro, da un sistema software all'altro.

Cronologicamente, uno dei primi standard per la codifica delle lettere russe sui computer è stato KOI8 ("Codice di scambio di informazioni, 8 bit"). Questa codifica è stata utilizzata negli anni '70 sui computer della serie di computer EC e dalla metà degli anni '80 ha iniziato ad essere utilizzata nelle prime versioni russificate del sistema operativo UNIX.

Dall'inizio degli anni '90, epoca del predominio del sistema operativo MS DOS, la codifica rimane CP866 ("CP" sta per "Code Page", "code page").

I computer Apple che eseguono il sistema operativo Mac OS utilizzano la propria codifica Mac.

Inoltre, l'Organizzazione internazionale per la standardizzazione (International Standards Organization, ISO) ha approvato un'altra codifica chiamata ISO 8859-5 come standard per la lingua russa.

La codifica più comune attualmente utilizzata è Microsoft Windows, abbreviata in CP1251.

Dalla fine degli anni '90 il problema della standardizzazione della codifica dei caratteri è stato risolto con l'introduzione di un nuovo standard internazionale, chiamato Unicode. Questa è una codifica a 16 bit, ad es. ha 2 byte di memoria per carattere. Naturalmente, in questo caso, la quantità di memoria occupata aumenta di 2 volte. Ma una tale tabella di codici consente l'inclusione di un massimo di 65536 caratteri. La specifica completa dello standard Unicode include tutti gli alfabeti esistenti, estinti e creati artificialmente del mondo, nonché molti simboli matematici, musicali, chimici e di altro tipo.

Proviamo a usare una tabella ASCII per immaginare come appariranno le parole nella memoria del computer.

Rappresentazione interna delle parole nella memoria del computer

A volte capita che il testo, composto da lettere dell'alfabeto russo, ricevuto da un altro computer, non possa essere letto: sullo schermo del monitor è visibile una sorta di "abracadabra". Ciò è dovuto al fatto che i computer utilizzano diverse codifiche dei caratteri della lingua russa.

Sovrapposizione di simboli

Grazie al carattere BS (back step), la stampante può stampare un carattere sopra l'altro. ASCII prevedeva l'aggiunta di segni diacritici alle lettere in questo modo, ad esempio:

  • a BS " → a
  • a BS ` → a
  • un BS ^ → â
  • o BS / → ø
  • c BS , → ç
  • n BS ~ → ñ

Nota: nei caratteri più vecchi, l'apostrofo " era inclinato a sinistra e la tilde ~ era spostata verso l'alto, quindi si adattavano al ruolo dell'accento e della tilde in alto.

Se lo stesso carattere è sovrapposto a un carattere, l'effetto è in grassetto e se una sottolineatura è sovrapposta al carattere, si ottiene il testo sottolineato.

  • a BS a → un
  • a BS_ → un

Nota: viene utilizzato, ad esempio, nel sistema man help.

Varianti nazionali di ASCII

La norma ISO 646 (ECMA-6) prevede la possibilità di inserire simboli nazionali @ [ \ ] ^ ` { | } ~ . Oltre a questo, sul posto # può essere posizionato £ , e sul posto $ - ¤ . Questo sistema è adatto per le lingue europee in cui sono necessari solo pochi caratteri aggiuntivi. Una variante di ASCII senza caratteri nazionali è chiamata US-ASCII o "Versione di riferimento internazionale".

Successivamente, si è rivelato più conveniente utilizzare codifiche a 8 bit (codepage), dove la metà inferiore della tabella dei codici (0-127) è occupata da caratteri US-ASCII e la metà superiore (128-255) è occupato da caratteri aggiuntivi, incluso un set di caratteri nazionali. Pertanto, la metà superiore della tabella ASCII, prima dell'adozione diffusa di Unicode, era ampiamente utilizzata per rappresentare caratteri localizzati, le lettere della lingua locale. La mancanza di un unico standard per posizionare i caratteri cirillici nella tabella ASCII ha causato molti problemi con le codifiche (KOI-8, Windows-1251 e altri). Anche altre lingue con scritture non latine hanno sofferto a causa della presenza di diverse codifiche diverse.

.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .UN .B .C .D .E .F
0. NULLA SOM EOA EOM EQT WRU IT CAMPANA BKSP HT LF VT FF CR COSÌ SI
1. CC 0 CC 1 DC 2 CD 3 CD 4 ERR SINC LEM S0 S1 S2 S3 S4 S5 S6 S7
2.
3.
4. VUOTO ! " # $ % & " ( ) * + , - . /
5. 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
6.
7.
8.
9.
UN. @ UN B C D e F G h io J K l m n o
B. P Q R S T u v w X Y Z [ \ ]
C.
D.
e. un B C D e F G h io J K l m n o
F. P Q R S T tu v w X y z ESC DEL

Su quei computer in cui l'unità di memoria minima indirizzabile era una parola a 36 bit, all'inizio venivano usati caratteri a 6 bit (1 parola = 6 caratteri). Dopo il passaggio all'ASCII, tali computer hanno iniziato a inserire 5 caratteri a sette bit in una parola (1 bit è rimasto superfluo) o 4 caratteri a nove bit.

I codici ASCII vengono utilizzati anche per determinare quale tasto è stato premuto durante la programmazione. Per una tastiera QWERTY standard, la tabella dei codici si presenta così:

[Codifiche a 8 bit: ASCII, KOI-8R e CP1251] Le prime tabelle di codifica create negli Stati Uniti non utilizzavano l'ottavo bit in un byte. Il testo è stato presentato come una sequenza di byte, ma l'ottavo bit non è stato preso in considerazione (è stato utilizzato per scopi ufficiali).

Il tavolo è diventato lo standard accettato. ASCII(Codice Standard Americano per Interscambio di Informazioni). I primi 32 caratteri della tabella ASCII (da 00 a 1F) sono stati utilizzati per i caratteri non stampabili. Sono stati progettati per controllare un dispositivo di stampa e simili. Il resto - da 20 a 7F - sono caratteri regolari (stampabili).

Tabella 1 - Codifica ASCII

dicesadecimaleottobreCharDescrizione
0 0 000 nullo
1 1 001 inizio di intestazione
2 2 002 inizio del testo
3 3 003 fine del testo
4 4 004 fine della trasmissione
5 5 005 inchiesta
6 6 006 riconoscere
7 7 007 campana
8 8 010 spazio indietro
9 9 011 linguetta orizzontale
10 UN 012 nuova linea
11 B 013 linguetta verticale
12 C 014 nuova pagina
13 D 015 ritorno in carrozza
14 e 016 spostare fuori
15 F 017 entrare
16 10 020 fuga del collegamento dati
17 11 021 controllo del dispositivo 1
18 12 022 controllo del dispositivo 2
19 13 023 controllo del dispositivo 3
20 14 024 controllo del dispositivo 4
21 15 025 riconoscimento negativo
22 16 026 inattivo sincrono
23 17 027 fine della trad. bloccare
24 18 030 Annulla
25 19 031 fine del mezzo
26 1A 032 sostituire
27 1B 033 fuga
28 1C 034 separatore di file
29 1D 035 separatore di gruppo
30 1E 036 separatore di record
31 1F 037 separatore di unità
32 20 040 spazio
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 ?
dicesadecimaleottobreChar
64 40 100 @
65 41 101 UN
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 io
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 5 D 135 ]
94 5E 136 ^
95 5F 137 _
96 60 140 `
97 61 141 un
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 io
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 tu
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

Come puoi facilmente vedere, in questa codifica sono rappresentate solo le lettere latine e quelle utilizzate in inglese. Ci sono anche simboli aritmetici e altri simboli di servizio. Ma non ci sono lettere russe, e nemmeno lettere latine speciali per il tedesco o il francese. Questo è facile da spiegare: la codifica è stata sviluppata come standard americano. Quando i computer iniziarono ad essere utilizzati in tutto il mondo, era necessario codificare altri caratteri.

Per fare ciò, è stato deciso di utilizzare l'ottavo bit in ogni byte. Pertanto, erano disponibili altri 128 valori (da 80 a FF), che potevano essere utilizzati per codificare i caratteri. La prima delle tabelle a otto bit è "Extended ASCII" ( ASCII esteso) - includeva varie varianti di caratteri latini usati in alcune lingue dell'Europa occidentale. Aveva anche altri personaggi aggiuntivi, inclusa la pseudografia.

I caratteri pseudografici consentono, visualizzando solo caratteri di testo, di fornire una parvenza di grafica. Utilizzando la pseudografica, ad esempio, il programma di gestione dei file FAR Manager funziona.

Non c'erano lettere russe nella tabella ASCII estesa. In Russia (ex URSS) e in altri stati sono state create le proprie codifiche che hanno permesso di rappresentare specifici caratteri "nazionali" in file di testo a 8 bit: lettere latine delle lingue polacca e ceca, cirillico (comprese le lettere russe) e altri alfabeti.

In tutte le codifiche che si sono diffuse, i primi 127 caratteri (cioè i valori dei byte con l'ottavo bit uguale a 0) sono gli stessi dell'ASCII. Quindi un file ASCII funziona in una di queste codifiche; le lettere della lingua inglese sono rappresentate allo stesso modo.

Organizzazione ISO(International Standardization Organization - International Organization for Standards) ha adottato un gruppo di standard ISO 8859. Definisce codifiche a 8 bit per diversi gruppi di lingue. Quindi, ISO 8859-1 è ASCII esteso, una tabella per gli Stati Uniti e l'Europa occidentale. E ISO 8859-5 è una tabella per il cirillico (compreso il russo).

Tuttavia, per ragioni storiche, la codifica ISO 8859-5 non ha preso piede. In realtà, per la lingua russa vengono utilizzate le seguenti codifiche:

Codice Pagina 866 ( CP866), è anche “DOS”, è anche “codifica GOST alternativa”. Ampiamente usato fino alla metà degli anni '90; ora in uso limitato. Praticamente non utilizzato per la distribuzione di testi su Internet.
- KOI-8. Sviluppato negli anni '70 e '80. È uno standard generalmente accettato per l'invio di messaggi di posta su Internet russo. È anche ampiamente utilizzato nei sistemi operativi della famiglia Unix, incluso Linux. Si chiama la versione KOI-8, progettata per il russo KOI-8R; esistono versioni per altre lingue cirilliche (ad esempio, KOI8-U è una variante per la lingua ucraina).
- Codice Pagina 1251, CP1251, Windows-1251. Sviluppato da Microsoft per supportare la lingua russa nel sistema Windows.

Il vantaggio principale del CP866 era la conservazione dei caratteri pseudografici negli stessi punti dell'ASCII esteso; pertanto, i programmi di testo stranieri, ad esempio il famoso Norton Commander, potrebbero funzionare senza modifiche. Il CP866 è attualmente utilizzato per programmi Windows in esecuzione in finestre di testo o in modalità testo a schermo intero, incluso FAR Manager.

I testi in CP866 sono piuttosto rari negli ultimi anni (ma è usato per codificare i nomi di file russi in Windows). Pertanto, ci soffermeremo su altre due codifiche: KOI-8R e CP1251.



Come puoi vedere, nella tabella di codifica CP1251, le lettere russe sono disposte in ordine alfabetico (ad eccezione, però, della lettera YO). Questa disposizione rende molto semplice l'ordinamento alfabetico dei programmi per computer.

Ma in KOI-8R, l'ordine delle lettere russe sembra casuale. Ma in realtà non lo è.

In molti programmi meno recenti, l'8° bit veniva perso durante l'elaborazione o la trasmissione di testo. (Ora tali programmi sono praticamente "estinti", ma alla fine degli anni '80 e all'inizio degli anni '90 erano diffusi). Per ottenere un valore a 7 bit da un valore a 8 bit, è sufficiente sottrarre 8 dalla cifra di ordine superiore; ad esempio, E1 diventa 61.

Ora confronta KOI-8R con la tabella ASCII (Tabella 1). Scoprirai che le lettere russe sono in stretta conformità con quelle latine. Se l'ottavo bit scompare, le lettere russe minuscole si trasformano in lettere latine maiuscole e le lettere russe maiuscole in lettere latine minuscole. Quindi, E1 in KOI-8 è la "A" russa, mentre 61 in ASCII è la "a" latina.

Quindi, KOI-8 ti consente di mantenere la leggibilità del testo russo con la perdita dell'8° bit. “Ciao a tutti” diventa “pRIWET WSEM”.

Recentemente, sia l'ordine alfabetico dei caratteri nella tabella di codifica, sia la leggibilità con la perdita dell'8° bit hanno perso la loro importanza decisiva. L'ottavo bit nei computer moderni non viene perso né durante la trasmissione né durante l'elaborazione. E l'ordinamento alfabetico viene effettuato tenendo conto della codifica e non di un semplice confronto di codici. (A proposito, i codici CP1251 non sono completamente in ordine alfabetico - la lettera Y non è al suo posto).

A causa del fatto che c'erano due codifiche comuni, quando si lavora con Internet (posta, navigazione in siti Web), a volte è possibile visualizzare un insieme di lettere senza significato invece del testo russo. Ad esempio, "Sono SBYFEMHEL". Sono solo le parole "rispettosamente"; ma erano codificati nella codifica CP1251 e il computer ha decodificato il testo secondo la tabella KOI-8. Se le stesse parole fossero, invece, codificate in KOI-8, e il computer decodificasse il testo secondo la tabella CP1251, il risultato sarebbe “U HCHBTSEOEN”.

A volte capita che un computer decifra le lettere in lingua russa e anche secondo una tabella che non è destinata alla lingua russa. Quindi, al posto delle lettere russe, appare un insieme di caratteri privo di significato (ad esempio, lettere latine delle lingue dell'Europa orientale); sono spesso indicati come "crocos".

Nella maggior parte dei casi, i programmi moderni riescono a determinare autonomamente le codifiche dei documenti Internet (e-mail e pagine Web). Ma a volte "si accendono male" e poi puoi vedere strane sequenze di lettere russe o "coccodrillo". Di norma, per visualizzare il testo reale in una situazione del genere, è sufficiente selezionare manualmente la codifica nel menu del programma.

Le informazioni dalla pagina http://open-office.edusite.ru/TextProcessor/p5aa1.html sono state utilizzate per l'articolo.

Materiale tratto dal sito:

Articoli correlati in alto