Einzelbyte- und Mehrbyte-ZeichensätzeSingle-Byte and Multibyte Character Sets

Mit dem ASCII-Zeichensatz werden Zeichen im Bereich von 0x00 bis 0x7F definiert.The ASCII character set defines characters in the range 0x00 - 0x7F. Von einigen anderen Zeichensätzen (hauptsächlich europäischer Herkunft) werden wie beim ASCII-Zeichensatz die Zeichen im Bereich von 0x00 bis 0x7F definiert; zusätzlich wird ein erweiterter Zeichensatz im Bereich von 0x80 bis 0xFF definiert.There are a number of other character sets, primarily European, that define the characters within the range 0x00 - 0x7F identically to the ASCII character set and also define an extended character set from 0x80 - 0xFF. Daher ist ein Einzelbyte-Zeichensatz (Single-Byte Character Set, SBCS) mit 8 Bits ausreichend, um den ASCII-Zeichensatz sowie viele andere Zeichensätze für europäische Sprachen darzustellen.Thus an 8-bit, single-byte-character set (SBCS) is sufficient to represent the ASCII character set as well as the character sets for many European languages. Einige außereuropäische Zeichensätze, z.B. das japanische Kanji, enthalten jedoch so viele Zeichen, dass sie nicht mehr in Einzelbytecodierung dargestellt werden können. Sie müssen daher mit einem Multibyte-Zeichensatz (Multibyte Character Set, MBCS) codiert werden.However, some non-European character sets, such as Japanese Kanji, include many more characters than can be represented in a single-byte coding scheme, and therefore require multibyte-character set (MBCS) encoding.

Hinweis

Viele SBCS-Routinen in der Microsoft-Laufzeitbibliothek behandeln Multibyte-Bytes, Zeichen und Zeichenfolgen entsprechend.Many SBCS routines in the Microsoft run-time library handle multibyte bytes, characters, and strings as appropriate. Viele Multibyte-Zeichensätze definieren den ASCII-Zeichensatz als Teilmenge.Many multibyte-character sets define the ASCII character set as a subset. In vielen Multibyte-Zeichensätzen sind die Zeichen im Bereich von 0x00 bis 0x7F mit den gleichwertigen Zeichen des ASCII-Zeichensatzes identisch.In many multibyte character sets, each character in the range 0x00 - 0x7F is identical to the character that has the same value in the ASCII character set. Das ein Byte lange Zeichen NULL („\0“) hat z.B. in ASCII- und MBCS-Zeichenfolgen den Wert 0x00 und steht für das abschließende NULL-Zeichen.For example, in both ASCII and MBCS character strings, the one-byte null character ('\0') has value 0x00 and indicates the terminating null character.

Ein Multibyte-Zeichensatz kann aus 1-Byte- und 2-Byte-Zeichen bestehen.A multibyte character set may consist of both one-byte and two-byte characters. Daher kann eine Multibyte-Zeichenfolge eine Mischung aus Einzelbyte- und Doppelbytezeichen enthalten.Thus a multibyte-character string may contain a mixture of single-byte and double-byte characters. Ein 2-Byte-Multibytezeichen verfügt über ein führendes Byte und ein nachfolgendes Byte.A two-byte multibyte character has a lead byte and a trail byte. In einem bestimmten Mehrbyte-Zeichensatz liegen die führenden Bytes ebenso wie die nachfolgenden Bytes innerhalb eines bestimmten Bereichs.In a particular multibyte-character set, the lead bytes fall within a certain range, as do the trail bytes. Wenn sich diese Bereiche überschneiden, muss unter Umständen anhand des Kontexts ermittelt werden, ob ein bestimmtes Byte als führendes oder als nachfolgendes Byte verwendet wird.When these ranges overlap, it may be necessary to evaluate the particular context to determine whether a given byte is functioning as a lead byte or a trail byte.

Siehe auchSee also

InternationalisierungInternationalization
Universelle C-Laufzeitroutinen nach KategorieUniversal C runtime routines by category