Skip to main content

Software  > Globalization > GAI > 

Globalize your On Demand Business

Global Architecture Imperatives guide the design and implementation of applications so that they can support global requirements.
Support Unicode using a Standard Library

Supporting Unicode means more than just handling characters that are more than one byte in length. Other support considerations are

  • Normalization (treating the single character ä and the character sequence ¨a as equivalent)
  • Collation, conversion to and from mode traditional codepages
  • Conversion among the Unicode Transformation Formats (UTF-8, UTF-16, UTF-32, etc).

Most modern operating environments provide APIs for processing Unicode data. But they differ in the functionality, the version of Unicode supported, the ways the APIs are used, and sometimes the results produced. When an enterprise has decided to stay on one platform, it will make sense to use the APIs provided by their selected platform. For example, companies who have a Windows-only platform strategy will want to consider the very adequate Unicode functions in the Windows 32-bit APIs. But if an enterprise has a multi-platform strategy--towards which more and more enterprises are moving--then a cross-platform solution is required to ensure portability and consistent behavior.

The Java programming environment is an excellent place to create applications that operate on multiple platforms, and Java has very good Unicode support. For applications developed in C/C++, the International Components for Unicode (ICU) provides similar functions, and more. ICU is an open source project of IBM, and is the basis for Unicode support in Java. In addition to character-handling functions and conversion to and from other code pages, ICU also provides an extensive set of locale information (data/time format, etc), multiple calendars, language sensitive collations, and other functions. The ICU APIs are very similar to the Java Unicode APIs and have the same behavior. The C/C++ version of ICU has functions not provided in Java, therefore IBM also provides ICU4J, which can be added to standard Java to deliver comparable functions. ICU is used internally by IBM in products such as Notes/Domino, and externally by many software vendors.


gray line

Continue to "Single executable with localization packs"


We're here to help
Easy ways to get the answers you need.
E-mail IBM