Simbol larg

Caracterul larg  este un termen legat de programare. Este folosit pentru a desemna un tip de date caracter care este mai larg decât caracterele tradiționale de 8 biți. Nu este același lucru cu Unicode .

wchar_t este un tip de date ANSI/ISO C (și folosit și în alte limbaje de programare) pentru a reprezenta caractere largi.

Standardul Unicode 4.0 spune asta:

„ANSI/ISO C lasă semantica caracterelor largi la latitudinea implementării individuale”

precum și

„mărimea unui tip wchar_teste determinată de compilator, până la un minim de 8 biți. În consecință, aplicațiile care trebuie să mențină portabilitatea între compilatoarele C și C++ nu ar trebui să utilizeze wchar_ttext Unicode pentru stocare. Tipul wchar_teste destinat să stocheze caractere largi, așa cum sunt înțelese de anumite compilatoare, și este posibil să nu fie conformă cu Unicode .

În API-ul Windows , tipul wchar_t este denumit WCHAR și are o dimensiune fixă ​​de 16 biți, ceea ce împiedică codificarea întregului set de caractere Unicode (mai mult de 1 milion). Prin urmare, încalcă standardul ANSI/ISO C, care necesită ca tipul de caractere wchar_t să accepte toate caracterele reprezentabile de sistem într-un singur obiect wchar_t . De fapt, în WinAPI, WCHAR înseamnă un cuvânt de 2 octeți din codificarea UTF-16LE (ca tip WORD ), astfel încât caracterele cu coduri mai mari decât FFFF 16 sunt codificate cu o pereche WCHAR (așa-numitele „surogate”) și nu numărul de caractere este transmis tuturor funcțiilor API și dimensiunea matricei de caractere în cuvinte mașină.

Pe GNU/Linux, un tip wchar_tare 32 de biți.

În biblioteca ANSI C , fișierele antet < wchar.h > și < wctype.h > sunt responsabile pentru caracterele largi.

Link -uri