编程模型
此处介绍的编程模型所强调的内容是:在对现有程序进行全球化或者开发新程序时,您需要作出的更改。
- 提供完全的全球化。 不要假设字符有任何特定的属性。 使用适当的接口动态确定属性。 除了代码点属于唯一代码点范围的 ASCII 字符之外,不要假设代码集的属性。
- 使程序代码集无关。 程序不应该假设单字节、双字节或任何一种多字节编码。 通过使用适当的子例程,可通过以进程码或文件码的形式处理数据。
- 仅以文件码形式提供和内核的交互。 内核不处理进程码。
- 多文化支持子例程库可基于文件码进行处理,也可以基于进程码进行处理。注: 多个基于进程代码形式的子例程没有相应的基于文件代码形式的子例程。 由于这一不对称性,可能有必要将字符串转换为进程码形式,然后调用适当的进程码字符串。
- 某些库可能未提供进程码形式的处理。 需要这些库的应用程序在调用来自这些库的函数时,必须使用文件码。
- 程序处理字符可以以进程码形式,也可以以文件码形式。 编写同时使用这两种方式的代码集无关程序是完全可能的。