International Enabling

HomeUnicode TasksMultibyte Character Set (MBCS) Tasks

Most traditional C and C++ code makes assumptions about character and string manipulation that do not work well for international applications. While both MFC and the run-time library support Unicode or MBCS, there is still work for you to do. To guide you, this section explains the meaning of “international enabling” in Visual C++:

Note   European and MBCS character sets have some characters, such as accented letters, with character codes greater than 0x80. Since most code uses signed characters, these characters greater than 0x80 are sign-extended when converted to int. This is a problem for array indexing because the sign-extended characters, being negative, will index outside the array.

Languages that use MBCS, such as Japanese, are also unique. Since a character may consist of one or two bytes, you should always manipulate both bytes at the same time.

See Also   Internationalization Strategies