If-Koubou

Care sunt codificările de caractere cum ar fi ANSI și Unicode, și cum diferă acestea?

Care sunt codificările de caractere cum ar fi ANSI și Unicode, și cum diferă acestea? (Cum să)

ASCII, UTF-8, ISO-8859 ... S-ar putea să fi văzut acești ciudați ciudați care plutesc în jurul lor, dar ce înseamnă de fapt? Citește mai departe pe măsură ce explicăm ce este codificarea caracterelor și cum aceste acronime se referă la textul simplu pe care îl vedem pe ecran.

Blocuri de construcție fundamentale

Când vorbim despre limbajul scris, vorbim despre scrisori care constituie blocurile de cuvinte, care apoi construiesc propoziții, paragrafe și așa mai departe. Scrisorile sunt simboluri care reprezintă sunete. Când vorbești despre limbă, vorbești despre grupuri de sunete care se întâlnesc pentru a forma un fel de sens. Fiecare sistem lingvistic are un set complex de reguli și definiții care guvernează aceste semnificații. Dacă aveți un cuvânt, este inutil dacă nu știți în ce limbă sunteți și îl folosiți cu alții care vorbesc limba respectivă.

(Compararea scripturilor Grantha, Tulu și Malayalam, Imagine de la Wikipedia)

În lumea computerelor, folosim termenul "caracter". Un personaj este un fel de concept abstract, definit de parametri specifici, dar este unitatea fundamentală de semnificație. Latinul "A" nu este același cu alfatul grecesc "alif" sau "aliful" arabil, deoarece au contexte diferite - sunt din limbi diferite și au pronunții ușor diferite - astfel încât putem spune că sunt caractere diferite. Reprezentarea vizuală a unui personaj este numită "ghilimă", iar diferite seturi de glife sunt numite fonturi. Grupurile de caractere aparțin unui "set" sau unui "repertoriu".

Când introduceți un paragraf și schimbați fontul, nu modificați valorile fonetice ale literelor, modificați modul în care acestea arată. Este doar cosmetică (dar nu lipsită de importanță!). Unele limbi, cum ar fi vechii egipteni și chinezi, au ideograme; acestea reprezintă idei întregi în loc de sunete, iar pronunțiile lor pot varia în timp și la distanță. Dacă înlocuiți un caracter cu altul, înlocuiți o idee. Este mai mult decât schimbarea literelor, schimba o ideogramă.

Codificarea caracterelor

(Imagine de la Wikipedia)

Când introduceți ceva pe tastatură sau încărcați un fișier, cum arată computerul ce trebuie afișat? Asta este codificarea caracterului. Textul de pe computer nu este de fapt litere, este o serie de valori alfanumerice pereche. Codificarea caracterelor acționează ca o cheie pentru care valorile corespund acelor caractere, la fel cum ortografia dictează ce sunete corespund literelor. Codul Morse este un fel de codificare a caracterelor. Aceasta explică modul în care grupurile de unități lungi și scurte, cum ar fi semnale sonore, reprezintă caractere. În codul Morse, personajele sunt doar litere, numere și opriri în engleză. Există multe codificări ale caracterelor de calculator care se traduc în litere, numere, semne de accent, semne de punctuație, simboluri internaționale și așa mai departe.

Adesea, pe această temă este folosit și termenul "pagini de cod". Acestea sunt codificări de caractere, în esență, utilizate de anumite companii, adesea cu mici modificări. De exemplu, pagina de cod Windows 1252 (cunoscută anterior ca ANSI 1252) este o formă modificată a standardului ISO-8859-1. Ele sunt utilizate în principal ca sistem intern pentru a face referire la codificări de caractere standard și modificate care sunt specifice acelorași sisteme. La început, codificarea caracterului nu a fost atât de importantă, deoarece computerele nu au comunicat între ele. Odată ce internetul se ridică la proeminență și rețeaua este o întâlnire obișnuită, ea a devenit o importanță din ce în ce mai importantă a vieții noastre de zi cu zi, fără să o realizăm.

Multe tipuri diferite

(Imagine de la sarah sosiak)

Există numeroase codificări de caractere diferite și există o mulțime de motive pentru asta. Codificarea caracterului pe care alegeți să o utilizați depinde de necesitățile dvs. Dacă comunicați în limba rusă, este logic să folosiți o codificare a caracterelor care suportă bine chirilicul. Dacă comunicați în coreeană, atunci veți dori ceva care să reprezinte bine Hangul și Hanja. Dacă sunteți un matematician, atunci doriți ceva care are toate simbolurile științifice și matematice reprezentate bine, precum și grefele grecești și latine. Dacă sunteți un prankster, poate veți beneficia de textul cu capul în jos. Și dacă doriți ca toate aceste tipuri de documente să fie vizualizate de orice persoană dată, doriți o codificare destul de obișnuită și ușor accesibilă.

Să aruncăm o privire la unele dintre cele mai comune.

(Extras din tabelul ASCII, Imagine de la asciitable.com)

  • ASCII - Codul standard american pentru schimbul de informații este una dintre codificările de caractere vechi. Acesta a fost inițial conceput pe baza codurilor telegrafice și a evoluat de-a lungul timpului pentru a include mai multe simboluri și câteva caractere de control care nu sunt tipărite în prezent. Probabil este la fel de fundamental pe care îl puteți obține în ceea ce privește sistemele moderne, deoarece este limitat la alfabetul latin fără caractere accentuate. Codificarea pe 7 biți permite doar 128 de caractere, motiv pentru care există mai multe variante neoficiale în întreaga lume.
  • ISO-8859 - Cel mai utilizat grup de codificare a caracterelor organizației internaționale pentru standardizare este numărul 8859. Fiecare codificare specifică este desemnată printr-un număr, adesea prefixat de un descriptor descriptiv, de ex. ISO-8859-3 (latină-3), ISO-8859-6 (latină / arabă). Este o suprasetare a ASCII, ceea ce înseamnă că primele 128 de valori din codificare sunt aceleași ca și ASCII. Cu toate acestea, este de 8 biți și permite 256 de caractere, deci se construiește de acolo și include o gamă mult mai largă de caractere, fiecare codificare specifică concentrându-se pe un set diferit de criterii. Latin-1 a inclus o grămadă de litere și simboluri accentuate, însă a fost ulterior înlocuită cu un set revizuit numit Latin-9, care include ghilimele actualizate precum simbolul euro.

(Extras din scriptul tibetan, Unicode v4, de la unicode.org)

  • Unicode - Acest standard de codificare vizează universalitatea. Acesta include în prezent 93 de scripturi organizate în mai multe blocuri, cu mult mai multe lucrări. Unicode funcționează în mod diferit decât alte seturi de caractere, în loc să codifice direct pentru un glif, fiecare valoare este direcționată spre un "punct de cod". Acestea sunt valori hexazecimale care corespund caracterelor, dar glifele însele sunt furnizate separat de program , cum ar fi browserul dvs. web. Aceste puncte de cod sunt descrise în mod obișnuit după cum urmează: U + 0040 (care se traduce la '@'). Codificările specifice conform standardului Unicode sunt UTF-8 și UTF-16. UTF-8 încearcă să permită compatibilitatea maximă cu ASCII. Este de 8 biți, dar permite toate personajele printr-un mecanism de substituție și perechi multiple de valori pe caracter. UTF-16 șanțuri compatibilitate ASCII perfectă pentru o compatibilitate mai completă de 16 biți cu standardul.
  • ISO-10646 - Aceasta nu este o codificare reală, doar un set de caractere Unicode care a fost standardizat de ISO. Este mai important deoarece este repertoriul de caractere folosit de HTML. Unele dintre cele mai avansate funcții oferite de Unicode care permit collarea și de la dreapta la stânga alături de script-urile de la stânga la dreapta lipsește. Totuși, funcționează foarte bine pentru utilizare pe internet, deoarece permite utilizarea unei game largi de scripturi și permite browserului să interpreteze glifele. Acest lucru face ca localizarea să fie oarecum mai ușoară.

Ce codificare ar trebui să folosesc?

ASCII funcționează pentru cei mai mulți vorbitori de engleză, dar nu pentru altceva. Mai des veți vedea ISO-8859-1, care funcționează pentru majoritatea limbilor occidentale. Celelalte versiuni ale ISO-8859 funcționează pentru script-uri chirilice, arabe, grecești sau altele. Cu toate acestea, dacă doriți să afișați mai multe scripturi în același document sau pe aceeași pagină web, UTF-8 permite o compatibilitate mult mai bună. De asemenea, funcționează foarte bine pentru persoanele care utilizează semne de punctuație, simboluri matematice sau personaje extra-cuff, cum ar fi pătrate și casete de selectare.

(Mai multe limbi într-un singur document, Imagine de pe gujaratsamachar.com)

Există însă dezavantaje pentru fiecare set. ASCII este limitat în semnele de punctuație, deci nu funcționează incredibil de bine pentru editări corecte tipografic. Copie / paste de la vreun tip din Word numai pentru a avea o combinație ciudată de glife? Acesta este dezavantajul ISO-8859, sau mai corect, presupusa inter-operabilitate cu paginile de cod specifice OS-ului (vă uităm la tine, Microsoft!). Principalul dezavantaj al UTF-8 este lipsa suportului adecvat în editarea și publicarea aplicațiilor. O altă problemă este faptul că browserele nu interpretează adesea și doar afișează marca de ordine a octeților unui caracter codificat UTF-8. Acest lucru duce la afișarea de glifuri nedorite. Și bineînțeles, declararea unei codări și folosirea de caractere de la alta fără a le declara / referenți în mod corespunzător pe o pagină web îi face dificil pe browsere să le facă corect și pentru motoarele de căutare să le indexeze în mod corespunzător.

Pentru propriile documente, manuscrise și așa mai departe, puteți folosi tot ce aveți nevoie pentru a vă face treaba. În ceea ce privește internetul, se pare că majoritatea oamenilor sunt de acord cu utilizarea unei versiuni UTF-8 care nu utilizează o marcă de comandă octet, dar aceasta nu este în întregime unanimă. După cum puteți vedea, fiecare codificare a caracterelor are propria sa utilizare, context, puncte forte și puncte slabe. În calitate de utilizator final, probabil că nu va trebui să vă ocupați de acest lucru, dar acum puteți face un pas înainte înainte dacă alegeți acest lucru.