Provided by: manpages-ro_4.21.0-2_all bug

NUME

       charsets - standarde de seturi de caractere și internaționalizare

DESCRIERE

       Această  pagină de manual oferă o prezentare generală a diferitelor standarde de seturi de
       caractere și a modului în care acestea erau utilizate  în  Linux  înainte  ca  Unicode  să
       devină omniprezent.  Unele dintre aceste informații sunt încă utile pentru persoanele care
       lucrează cu sisteme și documente vechi.

       Printre standardele discutate se numără ASCII, GB 2312,  ISO  8859,  JIS,  KOI8-R,  KS  și
       Unicode.

       Accentul  principal  este  pus  pe seturile de caractere care au fost utilizate efectiv de
       seturile de caractere locale, nu pe nenumărate altele care ar putea fi  găsite  în  datele
       din alte sisteme.

   ASCII
       ASCII  (American  Standard  Code  For  Information  Interchange)  este  setul  original de
       caractere pe 7 biți, conceput inițial pentru limba engleză  americană.   Cunoscut  și  sub
       numele   de   US-ASCII.    În  prezent,  este  descris  de  standardul  ISO  646:1991  IRV
       (International Reference Version).

       Diferite variante ASCII care înlocuiesc simbolul dolarului cu alte simboluri  monetare  și
       care  înlocuiesc  semnele  de  punctuație  cu caractere alfabetice non-englezești pentru a
       acoperi limbile germană, franceză, spaniolă și  alte  limbi  apărute  în  7  biți.   Toate
       acestea sunt depreciate; glibc nu acceptă localizări ale căror seturi de caractere nu sunt
       adevărate superseturi ale ASCII.

       Deoarece Unicode, atunci când se utilizează UTF-8, este compatibil cu ASCII, textul  ASCII
       simplu continuă să fie redat corect pe sistemele moderne care utilizează UTF-8.

   ISO 8859
       ISO  8859 este o serie de 15 seturi de caractere pe 8 biți, toate având ASCII în jumătatea
       lor inferioară (7 biți), caractere de control invizibile în pozițiile  128-159  și  96  de
       caractere grafice cu lățime fixă în pozițiile 160–255.

       Dintre  acestea,  cea  mai importantă este ISO 8859-1 („Alfabetul latin nr. 1” / Latin-1).
       Acesta a fost adoptat și susținut pe scară largă de  diferite  sisteme  și  este  înlocuit
       treptat  cu  Unicode.   Caracterele ISO 8859-1 sunt, de asemenea, primele 256 de caractere
       din Unicode.

       Suportul de consolă pentru celelalte seturi de caractere 8859  este  disponibil  în  Linux
       prin  intermediul  utilităților  din modul utilizator (cum ar fi setfont(8)) care modifică
       asocierile de tastatură și tabelul grafic EGA  și  utilizează  tabelul  de  fonturi  „user
       mapping” (asocierile făcute de utilizator) în controlorul de consolă.

       Iată o scurtă descriere a fiecărui set de caractere:

       8859-1 (Latin-1)
              Latin-1  acoperă  multe  limbi  vest-europene,  cum  ar fi albaneză, bască, daneză,
              engleză, feroeză, galleză, islandeză, irlandeză, italiană, norvegiană,  portugheză,
              spaniolă și suedeză.  Lipsa ligaturilor olandeză IJ/ij, franceză œ și vechiul stil al
              ghilimelelor „germane” a fost considerat tolerabil.

       8859-2 (Latin-2)
              Latin-2 acceptă multe limbi din Europa Centrală și de Est scrise în latină, cum  ar
              fi  bosniacă,  croată,  cehă,  germană,  maghiară,  poloneză,  slovacă  și slovenă.
              Înlocuirea literei românești ș/ț cu ș/ț a fost considerată tolerabilă.

       8859-3 (Latin-3)
              Latin-3 a fost conceput pentru a acoperi esperanto, malteză și  turcă,  dar  8859-9
              l-a înlocuit mai târziu pentru turcă.

       8859-4 (Latin-4)
              Latin-4 a introdus litere pentru limbile nord-europene, cum ar fi estonă, letonă și
              lituaniană, dar a fost înlocuit de 8859-10 și 8859-13.

       8859-5 Litere chirilice care sunt utilizate  în  limba  bulgară,  bielorusă,  macedoneană,
              rusă,  sârbă  și (aproape în totalitate) ucraineană. Nu a fost niciodată folosit pe
              scară largă, a se vedea discuția despre KOI8-R/KOI8-U de mai jos.

       8859-6 A fost creat pentru limba arabă.  Tabelul de glife 8859-6 este un font fix de forme
              de  litere  separate,  dar  un  motor  de  afișare  adecvat ar trebui să le combine
              folosind formele inițiale, medii și finale adecvate.

       8859-7 A fost creat pentru greaca modernă în 1987, și actualizat în 2003.

       8859-8 Acceptă ebraica modernă fără niqud (semne de punctuație). Niqud și ebraica  biblică
              în asamblu erau în afara domeniului de aplicare al acestui set de caractere.

       8859-9 (Latin-5)
              Aceasta  este  o  variantă  a  Latin-1  care înlocuiește literele islandeze cu cele
              turcești.

       8859-10 (Latin-6)
              Latin-6 a adăugat literele Inuit (groenlandeză) și Sami (laponă), care  lipseau  în
              Latin-4, pentru a acoperi întreaga zonă nordică.

       8859-11
              Suportă alfabetul thailandez și este aproape identic cu standardul TIS-620.

       8859-12
              Acest set de caractere nu există.

       8859-13 (Latin-7)
              Suportă limbile din bazinul baltic; în special, include caractere letone care nu se
              găsesc în Latin-4.

       8859-14 (Latin-8)
              Acesta este setul de caractere  celtice,  care  acoperă  limbile  irlandeză  veche,
              manxă, gaelică, galeză, galeză, cornișă și bretonă.

       8859-15 (Latin-9)
              Latin-9  este  similar  cu  Latin-1,  folosit pe scară largă, dar înlocuiește unele
              simboluri mai puțin obișnuite cu semnul euro și  literele  franceze  și  finlandeze
              care lipseau în Latin-1.

       8859-16 (Latin-10)
              Acest  set  acoperă  mai  multe  limbi din sud-estul Europei și, cel mai important,
              asigură un suport mai complet pentru limba română decât Latin-2.

   KOI8-R / KOI8-U
       KOI8-R este un set de caractere non-ISO popular în Rusia înainte  de  Unicode.   Jumătatea
       inferioară este ASCII, iar cea superioară este un set de caractere chirilice ceva mai bine
       conceput decât ISO 8859-5.  KOI8-U,  bazat  pe  KOI8-R,  are  un  suport  mai  bun  pentru
       ucraineană.  Nici unul dintre aceste seturi nu este compatibil cu ISO-2022, spre deosebire
       de seria ISO 8859.

       Suportul de consolă pentru KOI8-R este disponibil în Linux prin  intermediul  utilităților
       în  modul  utilizator  care  modifică  asocierile  de  tastatură  și tabelul grafic EGA și
       utilizează tabelul  de  fonturi  „user  mapping”  (asocierile  făcute  de  utilizator)  în
       controlorul de consolă.

   GB 2312
       GB  2312 este un set de caractere standard național din China continentală utilizat pentru
       a exprima chineza simplificată.  La fel ca în cazul JIS X 0208, caracterele sunt transpuse
       într-o matrice de doi octeți de 94x94 utilizată pentru a construi EUC-CN.  EUC-CN este cea
       mai importantă codificare pentru Linux și include ASCII și GB 2312.   Rețineți  că  EUC-CN
       este adesea numit GB, GB 2312 sau CN-GB.

   Big5
       Big5  a  fost un set de caractere popular în Taiwan pentru a exprima chineza tradițională.
       (Big5 este atât un set de caractere, cât și o codificare.)  Este  un  superset  al  ASCII.
       Caracterele  non-ASCII  sunt exprimate în doi octeți.  Octeții 0xa1–0xfe sunt utilizați ca
       octeți de început pentru caracterele de doi octeți.  Big5 și extensia sa au fost utilizate
       pe scară largă în Taiwan și Hong Kong.  Nu este compatibil cu ISO 2022.

   JIS X 0208
       JIS  X  0208  este  un  set de caractere standard național japonez.  Deși există mai multe
       seturi de caractere standard naționale japoneze (cum ar fi JIS X 0201, JIS X 0212 și JIS X
       0213),  acesta este cel mai important.  Caracterele sunt transpuse într-o matrice 94x94 de
       doi octeți, fiecare octet fiind cuprins în intervalul 0x21–0x7e.  Rețineți că JIS  X  0208
       este  un  set  de  caractere,  nu  o  codificare.   Aceasta înseamnă că JIS X 0208 nu este
       utilizat pentru a exprima date text.  JIS X 0208 este utilizat ca o  componentă  pentru  a
       construi  codificări  precum  EUC-JP,  Shift_JIS  și  ISO-2022-JP.   EUC-JP  este  cea mai
       importantă codificare pentru Linux și include ASCII și JIS X 0208.  În EUC-JP, caracterele
       JIS  X  0208  sunt  exprimate în doi octeți, fiecare dintre aceștia fiind codul JIS X 0208
       plus 0x80.

   KS X 1001
       KS X 1001 este un set de caractere standard național coreean.  La fel ca și în JIS X 0208,
       caracterele  sunt  transpuse  într-o  matrice  de  doi  octeți  de  94x94.  KS X 1001 este
       utilizat, ca și JIS X 0208, ca o componentă pentru a construi  codificări  precum  EUC-KR,
       Johab  și  ISO-2022-KR.  EUC-KR este cea mai importantă codificare pentru Linux și include
       ASCII și KS X 1001.  KS C 5601 este un nume mai vechi pentru KS X 1001.

   ISO 2022 and ISO 4873
       Standardele ISO 2022 și 4873 descriu un model de control al fonturilor bazat  pe  practica
       VT100.   Acest  model  este  (parțial)  acceptat de nucleul Linux și de xterm(1).  Au fost
       definite mai multe codificări de caractere bazate pe ISO 2022, în special pentru japoneză.

       Există 4 seturi de caractere grafice, denumite G0, G1, G2 și G3, iar unul  dintre  acestea
       este  setul  de  caractere  curent pentru codurile cu bitul mare zero (inițial G0) și unul
       dintre ele este setul de caractere curent pentru codurile cu bitul mare unu (inițial  G1).
       Fiecare  set de caractere grafice are 94 sau 96 de caractere și este, în esență, un set de
       caractere pe 7  biți.   Acesta  utilizează  codurile  040–0177  (041–0176)  sau  0240–0377
       (0241–0376).  G0 are întotdeauna dimensiunea 94 și utilizează codurile 041–0176.

       Trecerea de la un set de caractere la altul se face cu ajutorul funcțiilor de deplasare ^N
       (SO sau LS1), ^O (SI sau LS0), ESC n (LS2), ESC o (LS3), ESC N (SS2), ESC O (SS3),  ESC  ~
       (LS1R),  ESC } (LS2R), ESC | (LS3R).  Funcția LSn face ca setul de caractere Gn să fie cel
       curent pentru codurile cu bitul mare zero.  Funcția LSnR face ca setul de caractere Gn  să
       fie cel curent pentru codurile cu bitul 1 mare.  Funcția SSn face ca setul de caractere Gn
       (n=2 sau 3) să fie cel curent numai pentru  următorul  caracter  (indiferent  de  valoarea
       bitului de ordin înalt al acestuia).

       Un  set  de  94  de  caractere  este  desemnat ca set de caractere Gn printr-o secvență de
       eludare ESC ( xx (pentru G0), ESC ) xx (pentru G1), ESC * xx (pentru G2), ESC + xx (pentru
       G3),  unde  xx  este  un  simbol sau o pereche de simboluri din Registrul internațional al
       seturilor de caractere codificate ISO 2375.  De exemplu,  ESC  (  @  selectează  setul  de
       caractere ISO 646 ca G0, ESC ( A selectează setul de caractere standard din Marea Britanie
       (cu lira sterlină în loc de simbolul monetar), ESC ( B selectează ASCII (cu dolarul în loc
       de  simbolul monetar), ESC ( M selectează un set de caractere pentru limbile africane, ESC
       ( ! A selectează setul de caractere cubanez, și așa mai departe.

       Un set de 96 de caractere este desemnat ca  set  de  caractere  Gn  printr-o  secvență  de
       eludare  ESC - xx (pentru G1), ESC . xx (pentru G2) sau ESC / xx (pentru G3).  De exemplu,
       ESC - G selectează alfabetul ebraic ca fiind G1.

       Un set de caractere multiocteți este desemnat ca set de caractere Gn printr-o secvență  de
       eludare  ESC  $  xx sau ESC $ ( xx (pentru G0), ESC $ ) xx (pentru G1), ESC $ * xx (pentru
       G2), ESC $ + xx (pentru G3).  De exemplu, ESC $ ( C selectează setul de caractere  coreene
       pentru  G0.   Setul de caractere japoneze selectat prin ESC $ B are o versiune mai recentă
       selectată prin ESC & @ ESC $ B.

       ISO 4873 stipulează o utilizare mai restrânsă a seturilor de caractere, în  care  G0  este
       fix  (întotdeauna  ASCII), astfel încât G1, G2 și G3 pot fi invocate numai pentru codurile
       cu bitul de ordin înalt setat.  În special, ^N și ^O nu mai sunt utilizate, ESC ( xx poate
       fi  utilizat numai cu xx=B, iar ESC ) xx, ESC * xx, ESC + xx sunt echivalente cu ESC - xx,
       ESC . xx, ESC / xx, respectiv ESC / xx.

   TIS-620
       TIS-620 este un set de caractere standard național thailandez și un superset al ASCII.  În
       același  mod  ca  și  în  cazul seriei ISO 8859, caracterele thailandeze sunt transpuse în
       intervalul 0xa1–0xfe.

   Unicode
       Unicode (ISO 10646) este un standard care are ca scop  reprezentarea  fără  ambiguitate  a
       fiecărui caracter din fiecare limbă umană.  Structura Unicode permite codificarea fiecărui
       caracter pe 20,1 biți.  Deoarece majoritatea calculatoarelor nu includ numere  întregi  pe
       20,1  biți,  Unicode  este  de  obicei  codificat ca numere întregi pe 32 de biți la nivel
       intern și fie ca o serie de numere întregi pe 16 biți (UTF-16) (având nevoie de două serii
       de  numere întregi pe 16 biți doar la codificarea anumitor caractere rare), fie ca o serie
       de octeți pe 8 biți (UTF-8).

       Linux reprezintă Unicode utilizând formatul de transformare Unicode  pe  8  biți  (UTF-8).
       UTF-8  este o codificare cu lungime variabilă a Unicode.  Acesta utilizează 1 octet pentru
       a codifica 7 biți, 2 octeți pentru 11 biți, 3 octeți pentru 16 biți, 4 octeți pentru 21 de
       biți, 5 octeți pentru 26 de biți, 6 octeți pentru 31 de biți.

       Fie  că  0,1,x  reprezintă un zero, unu sau un bit arbitrar.  Un octet 0xxxxxxx reprezintă
       Unicode 00000000 0xxxxxxx, care codifică același simbol ca  și  ASCII  0xxxxxxx.   Astfel,
       ASCII rămâne neschimbat în UTF-8, iar persoanele care folosesc doar ASCII nu observă nicio
       schimbare: nici în cod, nici în dimensiunea fișierului.

       Un octet 110xxxxx este începutul unui cod  de  2  octeți,  iar  110xxxxx  10yyyyyyyy  este
       asamblat  în  00000xxx  xxyyyyyyy.   Un  octet 1110xxxx reprezintă începutul unui cod de 3
       octeți, iar 1110xxxx 10yyyyyyyyyy 10zzzzzzzz este  asamblat  în  xxxxyyyyyy  yyzzzzzzzzzz.
       (Atunci  când  se  utilizează  UTF-8  pentru  a  codifica ISO 10646 pe 31 de biți, această
       progresie continuă până la coduri de 6 octeți).

       Pentru majoritatea textelor din seturile de caractere ISO 8859, acest  lucru  înseamnă  că
       toate  caracterele  din afara ASCII sunt acum codificate cu doi octeți.  Acest lucru tinde
       să extindă fișierele de text obișnuite cu doar unul sau două procente.  În cazul  textelor
       în  rusă  sau  greacă, fișierele de text obișnuite se măresc cu 100%, deoarece textele din
       aceste limbi sunt în mare parte în afara ASCII.  Pentru utilizatorii japonezi, acest lucru
       înseamnă  că  codurile  pe  16 biți utilizate în prezent în mod obișnuit vor necesita trei
       octeți.  Deși există conversii algoritmice de la unele seturi de caractere (în special ISO
       8859-1)  la Unicode, conversia generală necesită utilizarea unor tabele de conversie, care
       pot fi destul de mari pentru codurile pe 16 biți.

       Rețineți că UTF-8 se autosincronizează: 10xxxxxx este o coadă, orice alt octet este  capul
       unui  cod.   Rețineți că singurul mod în care apar octeți ASCII într-un flux UTF-8 este ca
       atare.  În special, nu există NUL-uri încorporate ('\0') sau '/'s care fac parte  dintr-un
       cod mai mare.

       Deoarece  ASCII  și,  în  special,  NUL și '/', sunt neschimbate, nucleul nu observă că se
       utilizează UTF-8.  Nu-i pasă deloc ce reprezintă octeții pe care îi manipulează.

       Redarea fluxurilor de date Unicode este de obicei gestionată prin intermediul tabelelor de
       "subfonturi"  care  transpun  un  subset  de  Unicode  în glife.  La nivel intern, nucleul
       utilizează Unicode pentru a descrie subfontul încărcat în memoria RAM video.  Acest  lucru
       înseamnă  că  în  consola Linux în modul UTF-8 se poate utiliza un set de caractere cu 512
       simboluri diferite.  Acest lucru nu este suficient pentru japoneză, chineză  și  coreeană,
       dar este suficient pentru majoritatea celorlalte scopuri.

CONSULTAȚI ȘI

       iconv(1), ascii(7), iso_8859-1(7), unicode(7), utf-8(7)

TRADUCERE

       Traducerea  în  limba  română  a  acestui  manual  a  fost  creată  de Remus-Gabriel Chelu
       <remusgabriel.chelu@disroot.org>

       Această  traducere  este  documentație  gratuită;  citiți  Licența  publică  generală  GNU
       Versiunea  3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  sau  o  versiune  ulterioară cu
       privire la condiții privind drepturile de autor.  NU se asumă Nicio RESPONSABILITATE.

       Dacă găsiți erori în traducerea acestui  manual,  vă  rugăm  să  trimiteți  un  e-mail  la
       ⟨translation-team-ro@lists.sourceforge.net⟩.