Széles karakter

A széles karakter  a programozáshoz kapcsolódó kifejezés. A hagyományos 8 bites karaktereknél szélesebb karakteradattípus jelölésére szolgál. Nem ugyanaz, mint az Unicode .

wchar_t egy ANSI/ISO C adattípus (és más programozási nyelvekben is használatos) a széles karakterek megjelenítésére.

Az Unicode 4.0 szabvány ezt írja:

"Az ANSI/ISO C a széles karakterek szemantikáját az egyedi megvalósításra hagyja"

szintén

„egy típus méretét wchar_ta fordító határozza meg, minimum 8 bitig. Ennek megfelelően azoknak az alkalmazásoknak, amelyeknek fenn kell tartaniuk a hordozhatóságot a C és C++ fordítók között, nem szabad wchar_tUnicode szöveget használni a tároláshoz. A típus wchar_tcélja a széles karakterek tárolása, ahogyan azt bizonyos fordítók értelmezik, és ez nem feltétlenül felel meg a Unicode -nak ."

A Windows API -ban a wchar_t típust WCHAR -nak hívják, és rögzített mérete 16 bit, ami megakadályozza a teljes Unicode karakterkészlet (több mint 1 millió) kódolását. Ezért sérti az ANSI/ISO C szabványt, amely megköveteli a wchar_t karaktertípustól, hogy támogassa az összes rendszer által reprezentálható karaktert egyetlen wchar_t objektumban . Valójában a WinAPI-ban a WCHAR egy 2 bájtos szót jelent UTF-16LE kódolásból ( WORD típusként ), tehát az FFFF 16 -nál nagyobb kódú karakterek egy WCHAR párral vannak kódolva (az úgynevezett "helyettesítők"), és nem a karakterek száma az összes API-függvénynek átadásra kerül, és a karaktertömb mérete gépi szavakban.

GNU /Linux rendszeren egy típus wchar_t32 bites.

Az ANSI C könyvtárban a < wchar.h > és a < wctype.h > fejlécfájlok felelősek a széles karakterekért.

Linkek