Programming with Unicode and NLS

A version of this page is also available for

Windows Embedded CE 6.0 R3

4/8/2010

Windows Mobile includes national language support (NLS) APIs, as well as Unicode, to assist you in creating global applications.

NLS functions help Windows Mobile–based applications to support the differing language–specific and location-specific needs of users around the world. These functions enable you to specify a locale so that you can correctly display times, dates, and other language–specific and location–specific information in your application. NLS also includes support for different keyboard layouts and language–specific fonts.

Windows Mobile supports Unicode version 3.2. Unicode is a worldwide character-encoding standard that treats all characters as having a fixed width of 2 bytes. It can represent all the world's characters in modern computer use, including technical symbols and special characters used in publishing. Because Unicode characters are 2 bytes, Unicode–enabled functions are often referred to as wide–character functions.

Unicode defines semantics for each character, standardizes script behavior, provides a standard algorithm for bidirectional text, and defines cross-mappings to other standards. Because each Unicode character is 16–bits wide, it is possible to have separate values for up to 65,536 characters.

Windows Mobile uses Unicode exclusively at the system level for character and string manipulation. By implementing Unicode in your applications, you can provide your application with universal data exchange capabilities for global marketing, using a single binary file for every possible character code. This simplifies localization of software and improves multilingual text processing.

In This Section