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  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.

Pagini de manual de Linux 6.03                  5 februarie 2023                                     charsets(7)