Set di caratteri a byte singolo e multibyte
Il set di caratteri ASCII definisce i caratteri inclusi nell'intervallo da 0x00 a 0x7F. Ci sono molti altri set di caratteri, principalmente europei, che definiscono i caratteri all'interno dell'intervallo 0x00 - 0x7F in modo identico al set di caratteri ASCII e definiscono anche un set di caratteri esteso da 0x80 - 0xFF. Un set di caratteri a 8 bit a byte singolo (SBCS) è sufficiente per rappresentare il set di caratteri ASCII e i set di caratteri per molte lingue europee. Tuttavia, alcuni set di caratteri non europei, ad esempio kanji giapponesi, includono molti più caratteri che possono essere rappresentati in uno schema di codifica a byte singolo e quindi richiedono la codifica MBCS (Multibyte-Character Set).
Nota
Molte routine SBCS della libreria di runtime Microsoft gestiscono byte, caratteri e stringhe multibyte in base alle esigenze. Molti set di caratteri multibyte definiscono il set di caratteri ASCII come subset. In molti set di caratteri multibyte, ogni carattere incluso nell'intervallo da 0x00 a 0x7F è identico al carattere che ha lo stesso valore nel set di caratteri ASCII. Ad esempio, sia nelle stringhe di caratteri ASCII che MBCS, il carattere Null ('\0') a un byte ha il valore 0x00 e indica il carattere Null di terminazione.
Un set di caratteri multibyte può essere costituito da caratteri a 1 byte e a 2 byte. Una stringa di caratteri multibyte può contenere una combinazione di caratteri a byte singolo e a byte doppio. Un carattere multibyte a due byte ha un byte iniziale e un byte finale. In un determinato set di caratteri multibyte, i byte di apertura e di chiusura sono inclusi in un intervallo specifico. Quando questi intervalli si sovrappongono, potrebbe essere necessario valutare il contesto per determinare se un byte specifico funziona come byte lead o come byte finale.
Internazionalizzazione
Routine di Universal C Runtime per categoria