CLR 全面透彻解析:国际应用程序
2008-12-01 11:52:36 来源:WEB开发网核心提示: 如果您有如图 2 所述的资源,而您试图查找与名称 "greeting" 相对应的资源,CLR 全面透彻解析:国际应用程序(6),则 en-US 会返回 "hi",而 en-UK 和 en-CA 都将返回 en 资源 "hello"
如果您有如图 2 所述的资源,而您试图查找与名称 "greeting" 相对应的资源,则 en-US 会返回 "hi",而 en-UK 和 en-CA 都将返回 en 资源 "hello"。
图 2 资源层次结构
使用文本
文本引入了一组全新的问题。例如,如何实际呈现在将文本翻译为其他语言时可能需要用到的所有字符?字符串在 .NET Framework 中是通过 System.String 类来表示的。幸运的是,CLR 中的字符串使用的是 Unicode(更具体一点说是 UTF-16 编码),因此它们可以表示标准字符。
System.Text 命名空间包括一些类,它们可用于将 Unicode 字符编码为字节,将字节解码为字符。这将允许您根据需要在不同的 Unicode 编码之间进行转换。
虽然 Unicode 是目前的标准,但也存在某些先前的编码,它们仅表示在特定语言或区域中使用的字符。这些编码被称为“代码页”。如果需要处理使用其中一种旧代码页编码的文本,可以使用 System.Text 类进行处理。一般而言,只有在处理一些旧的应用程序时才需要这样做。新应用程序使用的应该是 Unicode 标准。
有些字符串可能只在控制台上或在标签中输出,但通常您都会希望对字符串执行某些操作。或许采用字符串列表的形式会更易于读取(如果它已存储在显示装置中)。有时您会希望将字符串中的字符转换为不同的大小写格式。这些操作或许看上去非常简单,但实情却可能并非如此。对单词进行排序时就存在一个根本问题,它并不会一眼就被发现。例如,在英语中有一个由 26 个字符组成的字母表,各字母具有固定的顺序。但字符却有多种大小写形式。应该如何排列具有不同大小写形式的相同单词的不同实例呢?
更多精彩
赞助商链接