Internationalization Topics

Uppercase and Lowercase Characters

Not all languages have upper and lower case equivalents for characters. For example, in English, we have 'a' and 'A'. However, there is no equivalent case equivalents for Eastern ideographic scripts such as Kanji. Also, within Latin languages, there are specific rules for diacritical character case conversions. For example, within French, the lowercase 'é' corresponds to the uppercase 'E'; the specific rules vary among locales.

The IBM ICU package for C and C++ supports a variety of character-classification functions that return properties of Unicode characters, e.g. u_isupper() and u_islower() . There are also functions for converting Unicode strings to upper and lower case, e.g. u_stringToUpper() and u_stringToLower() .

C++ has a variety of character-classification functions that return properties of Unicode characters, e.g. iswlower() and iswupper() . There are also functions for converting Unicode characters and strings to uppercase and lowercase e.g. _wcsupr and _stuwr, _strlwr. When using the string methods, care should be taken to specify the locale.