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.