Megosztás a következőn keresztül:


Egybájtos és többbájtos karakterkészletek

Az ASCII karakterkészlet a 0x00 – 0x7F tartományban definiál karaktereket. Vannak más karakterkészletek is, elsősorban európaiak, amelyek a 0x00 - 0x7F tartományon belüli karaktereket az ASCII-karakterkészlettel megegyezően határozzák meg, és egy kiterjesztett karakterkészletet is definiálnak a 0x80 - 0xFF tartományban. Így egy 8 bites, egy bájtos karakterkészlet (SBCS) elegendő az ASCII karakterkészlet és számos európai nyelv karakterkészletének megjelenítéséhez. Egyes nem európai karakterkészletek, például a japán Kanji azonban sokkal több karaktert tartalmaznak, mint amennyit egy egybájtos kódolási séma képviselhet, ezért többbájtos (MBCS) kódolásra van szükség.

Megjegyzés:

A Microsoft futásidejű könyvtárának számos SBCS-rutinja szükség szerint kezeli a többbájtos bájtokat, karaktereket és sztringeket. Számos többbájtos karakterkészlet határozza meg az ASCII-karakterkészletet részhalmazként. Számos többbájtos karakterkészletben a tartomány minden karaktere 0x00 – 0x7F megegyezik az ASCII-karakterkészletben azonos értékkel. Az ASCII és az MBCS karaktersztringekben például az egy bájtos null karakter ('\0') értéke 0x00, és a befejező null karaktert jelzi.

A többbájtos karakterkészletek 1 bájtos és 2 bájtos karakterekből is állhatnak. A többbájtos sztringek egybájtos és kétbájtos karakterek keverékét tartalmazhatják. Egy kétbájtos többbájtos karakterhez egy vezető bájt és egy követő bájt tartozik. Egy adott többbájtos karakterkészletben a vezető bájtok egy bizonyos tartományba esnek, ahogy a követő bájtok is. Ha ezek a tartományok átfedésben vannak, előfordulhat, hogy ki kell értékelnie a környezetet annak megállapításához, hogy egy adott bájt vezető bájtként vagy nyomvonal bájtként működik-e.

Lásd még

nemzetköziesítés
Univerzális C futtatókörnyezeti rutinok kategória szerint