Character Sets
The document is archived and information here might be outdated

Character Sets in C++

An important aspect of developing applications for international markets is the adequate representation of local character sets. The ASCII character set defines characters in the range 0x00 to 0x7F. There are other character sets, primarily European, that define the characters within the range 0x00 to 0x7F identically to the ASCII character set and also define an extended character set from 0x80 to 0xFF. 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. However, some non-European character sets, such as Japanese Kanji, include many more characters than a single-byte coding scheme can represent, and therefore require multibyte-character set (MBCS) encoding.

Unicode and MBCS

Discusses Visual C++ support for Unicode and MBCS programming.

Support for Unicode

Describes Unicode, a specification for supporting all character sets, including character sets that cannot be represented in a single byte.

Support for Multibyte Character Sets (MBCS)

Discusses MBCS, an alternative to Unicode for supporting character sets, like Japanese and Chinese, that cannot be represented in a single byte.

Generic-Text Mappings in Tchar.h

Provides Microsoft-specific generic-text mappings for many data types, routines, and other objects.

How to: Convert Between Various String Types

Demonstrates how to convert various Visual C++ string types into other strings.


Discusses international support in the C run-time library.

International Samples

Provides links to samples demonstrating internationalization in Visual C++.

Language and Country/Region Strings

Provides the language and country/region strings in the C run-time library.

© 2016 Microsoft