Znaki wielobajtowe i dwubajtowe
Znak wielobajtowy jest znakiem składającym się z sekwencji co najmniej jednego bajtu. Każda sekwencja bajtów reprezentuje pojedynczy znak w rozszerzonym zestawie znaków. Znaki wielobajtowe są używane w zestawach znaków, takich jak Kanji.
Znaki szerokie to wielojęzyczne kody znaków, które zawsze mają szerokość 16 bitów. Typ stałych znaków to char
; dla znaków szerokich, typ to wchar_t
. Ponieważ znaki szerokie są zawsze stałym rozmiarem, użycie znaków szerokich upraszcza programowanie za pomocą międzynarodowych zestawów znaków.
Literał L"hello"
ciągu szerokiego znaku staje się tablicą sześciu liczb całkowitych typu wchar_t
.
{L'h', L'e', L'l', L'l', L'o', 0}
Specyfikacja Unicode jest specyfikacją dla znaków szerokich. Procedury biblioteki czasu wykonywania do tłumaczenia między znakami wielobajtowymi i szerokimi obejmują mbstowcs
znaki , , mbtowc
wcstombs
, i wctomb
.