Pagina principala » HOWTO » 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?

    ASCII, UTF-8, ISO-8859 ... S-ar putea să fi văzut acești ciudați călugări care plutesc, 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 reunesc 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 parametrii specifici, dar este unitatea fundamentală de semnificație. Latinul "A" nu este același cu alfatul grecesc "alfa" sau "aliful" arabil, deoarece au contexte diferite - sunt din limbi diferite și au pronunții ușor diferite - deci putem spune că sunt caractere diferite. Reprezentarea vizuală a unui personaj este numită "glif", iar diferite seturi de glifuri 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 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, schimbă 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 caracterelor. Textul de pe computer nu este de fapt litere, este o serie de valori alfanumerice asociate. Codificarea caracterelor acționează ca o cheie pentru care valorile corespund caracterelor, la fel cum ortografia dictează ce sunete corespund literelor. Codul Morse este un fel de codificare a caracterelor. 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. Există numeroase codificări ale caracterelor de calculator care se traduc în litere, numere, accente, semne de punctuație, simboluri internaționale și așa mai departe.

    De multe ori pe această temă este folosit și termenul "pagini de cod". Acestea sunt codificări de caractere în esență, așa cum sunt folosite 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 folosite în principal ca sistem intern pentru a face referire la codificări de caractere standard și modificate care sunt specifice acelorași sisteme. La inceput, codificarea caracterelor nu a fost atat de importanta pentru ca computerele nu comunica intre ele. Având în vedere că internetul se ridică la proeminență și că rețelele sunt un eveniment comun, acesta a devenit o importanță din ce în ce mai importantă a vieții noastre de zi cu zi, fără să-l realizăm chiar.

    Multe tipuri diferite

    (Imagine de la sarah sosiak)

    Există o mulțime de codificări de caractere diferite acolo și există o mulțime de motive pentru asta. Caracterul pe care alegeți să îl utilizați depinde de nevoile dvs. Dacă comunicați în limba rusă, este logic să utilizați o codificare a caracterelor care să sprijine bine limba chirilică. Dacă comunicați în coreeană, atunci veți dori ceva care să reprezinte bine Hangul și Hanja. Dacă ești matematician, atunci vrei ceva care să aibă 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 o anumită persoană, 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 conceput inițial pe baza codurilor telegrafice și a evoluat de-a lungul timpului pentru a include mai multe simboluri și câteva caractere de control ne-tipărite în prezent. Este probabil la fel de simplu ca și cum 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 numai 128 de caractere, motiv pentru care există mai multe variante neoficiale în întreaga lume.
    • ISO-8859 - Cel mai răspândit grup de coduri de caractere al Organizației Internaționale pentru Standardizare este numărul 8859. Fiecare codificare specifică este desemnată printr-un număr, adesea prefixat de un moniker 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. Este totuși 8 biți și permite 256 de caractere, așa că 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, dar ulterior a fost înlocuit cu un set revizuit numit Latin-9, care include ghilimele actualizate, cum ar fi 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ă 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 ele î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 caracterele printr-un mecanism de substituție și mai multe perechi 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ă, ci 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 funcțiile mai avansate furnizate de Unicode care permit collarea și de la dreapta la stânga, alături de script-urile de la stânga la dreapta, lipsesc. Totuși, funcționează foarte bine pentru a fi folosit 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ă utilizez?

    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ă. Funcționează, de asemenea, foarte bine pentru persoanele care folosesc semne de punctuație, simboluri matematice sau caractere off-the-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 doar pentru a avea o combinație ciudată de glife? Acesta este dezavantajul ISO-8859, sau mai corect, pretinsa inter-operabilitate cu paginile de cod specifice OS-ului (ne uitam la tine, Microsoft!). Principalul dezavantaj al UTF-8 este lipsa suportului adecvat în editarea și publicarea de aplicații. O altă problemă este că browserele nu interpretează adesea și doar afișează semnul de ordine al unui personaj 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 altul fără a le declara / referă corespunzător pe o pagină web îi face dificil pe browsere să le facă corect și pentru ca 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 ai nevoie pentru a-ți face treaba. În ceea ce privește webul, 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.