vesperala

Welcome Guest ( Log In | Register )

 
Reply to this topicStart new topic
> Despre literele românești

Aprig
post Feb 6 2010, 01:54 PM
Post #1


Ce avem noi aici?
Group Icon
******

Group: Stars
Posts: 4,556
Joined: 13-January 08
From: București
Member No.: 55



Ca să nu mai vorbim limbi străine, noținile de bază. N-am de gînd să le explic prea formal, doar suficient cît să ne facem o idee.

O să încep cu definiții.

Alfabet - un snop de caractere cu care scriem. Alfabetul, în sens mai larg, include orice, inclusiv semnele de punctuație și spațiul.
Glifă - reprezentarea grafică a unui caracter.
Font - o colecție de glife și asocierea lor cu caracterele pe care le reprezintă. Asocierea asta poate fi făcută, intern, fie prin ordine, fie prin tabele.
Codare - relația dintre numere și caractere. Se mai numește și encoding, sau cod de pagină. Pentru că se știe că calculatoarele sînt numerice.

Și acum o luăm agale.

În calculator, numerele sînt reprezentate binar, și grupate în bytes. Un byte (românește octet) are 8 biți și poate reprezenta orice număr întreg între 0 și 255 (sau între -128 și 127, dar asta nu contează aici).

Istoric, un caracter se reprezenta pe un byte, pentru că limba engleză nu are atît de multe caractere încît să nu încapă, și mai ramînea și loc. Encodingul de bază este cel numit ASCII, care este de fapt pe 7 biți. Iar codurile importante sînt astea:

0 - nimic. Nu se folosește, pentru că în C se consideră sfîrșitul șirului de caractere, deci după el nu mai urmează nimic; ai băgat un 0 în text, ai șters tot ce urmează după el. Not nice.
48 - cifra 0.
65 - litera A.
97 - litera a.

De la 1 la 31 stau caracterele speciale, cum ar fi pagină nouă, sfîrșitul rîndului, astea, și caracterele de control, ca sfîrștiul textului, pauză / reluare, treburi de-astea care țin de istoria antică în care un terminal era suficient de lent încît să aiba nevoie să ceară o pauză pentru că n-a terminat de desenat. Mai e pe-acolo un clopoțel, un escape, și alte bunătăți. Iar la 32 stă spațiul.

Bun. Pînă aici e simplu. Problema apare cînd se trece la alte limbi. Cum ASCII e pe 7 biți iar un byte are 8, a mai ramas un bit care poate fi folosit pentru a extinde setul de caractere, așa că în plaja 128-255 s-au îndesat alte caractere, pe măsură ce-au fost necesare. Cum ar fi caracterele franțuzești, germane, spaniole, astea.

Poblema a apărut după ce s-a umplut tot spatiul. Mai rămăseseră limbi neacoperite, caractere de adăugat. Așa că s-au făcut seturi de caractere diferite, în care se păstrează setul ASCII nemodificat, iar în a doua jumătate (deci peste 128) se înlocuiesc caracterele alea cu altele. În total sînt 16 de-astea, dintre care pe noi ne interesează așa:

ISO 8859-1, numit și latin 1. E ăla original pentru Europa de Vest.
ISO 8859-2, numit și latin 2. E cel extins, petru Europa centrală și de est, care conține și caracterele românești. De menționat că î și â erau deja în latin 1, pentru că le foloseau francezii. În latin 2 stau pe aceeași poziție ca și în latin 1, și de-aici apar unii care scriu cu î și â dar fără ă, ș, ț.
ISO 8859-15, numit și latin 9. E practic latin 1 cu cîteva corecturi și simbolul pentru euro.
ISO 8859-16, numit și latin 10. Ultimul. Din punctul nostru de vedere e identic cu latin 2, dar are ș și ț înlocuite cu variantele cu virgulă în loc de sedilă, și are simbolul pentru euro. Din punctul de vedre al altora nu e chiar așa identic, dar asta e problema lor, nu a noastră.

Cu mențiunea că 8895-16, fiind ultimul apărut, nu este suportat de aproape niciun program din Windows. Ei s-au oprit la 15.

Deci problema devine clară. Caractere diferite sînt codificate cu același număr, în funcție de encodingul folosit.

Data viitoare, cînd o să am timp, o să scriu și despre rezolvarea problemei, pe nume Unicode, și atunci o să pot să mă întorc la fonturi și tabele.


User's Signature

I sensed a great disturbance in the FOSS, as if millions of voices suddenly cried out in terror and were suddenly silenced.

(source)
Go to the top of the page
PM
+ Quote Post

KyKy
post Feb 6 2010, 10:20 PM
Post #2


Take your place inside the fire with her!
Group Icon
******

Group: Moderator
Posts: 2,986
Joined: 16-January 09
From: București
Member No.: 813



eu folosesc Central ISO-2


User's Signature


Go to the top of the page
PM
+ Quote Post

Aprig
post Feb 6 2010, 10:38 PM
Post #3


Ce avem noi aici?
Group Icon
******

Group: Stars
Posts: 4,556
Joined: 13-January 08
From: București
Member No.: 55



Majoritatea folosesc asta sau Windows CP 1250, care e cam același lucru. Asta dacă nu folosesc UTF-8.

Probabil n-am mentionat. Pe lîngă astea pe care le-am înșirat mai sus exista și codurile de pagină din Windows. Mai sînt și altele, grupate în general la categoria Vendor Specific Encodings. Corespunzător lui ISO 8859-2 este CP 1250, iar pentru 8859-1 este CP 1252. Din punct de vedere practic e același lucru, diferențele sînt minore.

Există unele chiar mai vechi, de exemplu în DOS pentru România se putea folosi CP 850 iar implicit era CP 437. Astea sînt complet diferite, inclusiv ca ordine; din fericire nu se mai folosesc, așa că avem o grijă mai puțin. Eu le-am enumerat doar pe cele mai importante care se mai folosesc și acum, și care ne privesc. În total sînt cîteva zeci, cred, dar nu mai interesează pe nimeni.


User's Signature

I sensed a great disturbance in the FOSS, as if millions of voices suddenly cried out in terror and were suddenly silenced.

(source)
Go to the top of the page
PM
+ Quote Post

Eonica
post Feb 7 2010, 06:54 PM
Post #4


SuperStar
Group Icon
*****

Group: Stars
Posts: 1,669
Joined: 30-December 07
From: jud. Covurlui
Member No.: 8



Acum vorbiti despre asta??? Cand vineri era sa fac infarct la examenul de informatiica, manualul fiind scris cu glife necunoscute mie???
Ideea e ca voi explicati de 10.000 ori mai bine decat dom' profesor care a scris manualul. Continuati tot asa. Chiar ne sunt de folos informatiile de mai sus.
Cel putin mie, daaaaa!!!!!! emo-ping.gif


User's Signature

"Exista ceva mai rau decat oamenii rai, indiferenta oamenilor buni!"
Go to the top of the page
PM
+ Quote Post

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 21st September 2018 - 04:38 AM
Arta si savoare www.iconcert.ro
 Vesperala Forum