《创建全球化应用程序》由会员分享,可在线阅读,更多相关《创建全球化应用程序(37页珍藏版)》请在金锄头文库上搜索。
1、第16章 创建全球化应用程序,.NET Framework 2.0 程序设计,第 1 章: .NET Framework 2.0简介 第 2 章:公共语言运行库和类型 第 3 章:托管代码的编译和执行 第 4 章:委托和事件 第 5 章:读取和写入文件 第 6 章:集合和泛型 第 7 章:数据的序列化 第 8 章:GDI+ 第 9 章:在 .NET Framework 2.0中实现加密,第 10 章: COM 组件与.NET Framework程序集之间的交互操作 第 11 章:使用类型元数据 第 12 章:创建多线程应用程序和应用程序域 第 13 章:代码访问安全性 第 14 章:监视和调试
2、应用程序 第 15 章:使用服务应用程序和电子邮件消息 第 16 章:创建全球化应用程序 第 17 章:配置和安装程序集,本章学习目标: 使用 CultureInfo、RegionInfo、DateTimeFormatInfo、NumberFormatInfo 和 CompareInfo 类对文化环境信息进行处理 使用 CultureAndRegionInfoBuilder 类创建自定义文化环境 使用 Encoding、EncodingInfo、ASCIIEncoding、UTF8Encoding 和 UnicodeEncoding 类对字符进行编码 使用 Encoder、EncoderFal
3、lback、Decoder 和 DecoderFallback 类处理故障事件,目标,使用全球化类处理文化环境信息 创建自定义的文化环境 使用主要编码类 使用高级编码类 小结 实验 习题,第16章 创建全球化应用程序,全球化 使用 CultureInfo 类访问文化环境 使用 RegionInfo 类访问区域信息 使用 DateTimeFormatInfo 类格式化某种文化环境中的日期/时间值 使用 NumberFormatInfo 类格式化数字值 使用 CompareInfo 类比较文化环境信息,.,使用全球化类处理 文化环境信息,16.1 使用全球化类处理文化环境信息,全球化,16.1.1
4、 全球化,.NET 创建全球化商务应用程序的过程通常都贯穿了三个必须完成的过程:,(1)全球化过程 (2)可本地化过程 (3)本地化过程,使用 CultureInfo 类 访问文化环境,16.1.2 使用 CultureInfo 类访问文化环境,CultureInfo 类的各个成员:,代码示例C,代码示例VB,使用 CultureInfo 类 访问文化环境 (续),16.1.2 使用 CultureInfo 类访问文化环境,续表:,使用 CultureInfo 类 访问文化环境 (续),16.1.2 使用 CultureInfo 类访问文化环境,续表:,使用 CultureInfo 类 访问文
5、化环境 (续),16.1.2 使用 CultureInfo 类访问文化环境,续表:,使用 RegionInfo 类 访问区域信息,16.1.3 使用 RegionInfo 类访问区域信息,RegionInfo 类的属性:,代码示例C,代码示例VB,使用 RegionInfo 类 访问区域信息 (续),16.1.3 使用 RegionInfo 类访问区域信息,续表:,格式化环境中的 日期时间值,16.1.4 使用 DateTimeFormatInfo 格式化某种文化环境中的日期/时间值,System.Globalization 命名空间中的 DateTimeFormatInfo 类有助于操作日期
6、/时间值,并根据所选择的 CultureInfo 区域对它们进行格式化。,DateTimeFormatInfo 类的对象包含有关如何在不同区域中格式化和使用日期/时间值的信息。,代码示例C,代码示例VB,格式化数字值,16.1.5 使用 NumberFormatInfo 类格式化数字值,NumberFormatInfo 类使用枚举 NumberStyles 来处理数字值。,(1)NumberFormatInfo 类 NumberFormatInfo类根据不同的文化环境,使用用特定的字符串格式格式化数字值(如货币值)。 (2)NumberStyles 枚举 使用 NumberStyles 枚举,
7、可以结合多个枚举值指示整数类型的 Parse 方法如何按照需要的方式处理字符串。,代码示例C,代码示例VB,比较文化环境信息,16.1.6 使用 CompareInfo 类比较文化环境信息,可以使用 System.Globalization 命名空间中的 CompareInfo 类根据区域顺序对字符串进行比较,但不可以直接对此类进行实例化。,CompareInfo 类 CompareOptions 枚举,代码示例C,代码示例VB,使用全球化类来处理文化环境信息 创建自定义的文化环境 使用主要编码类 使用高级编码类 小结 实验 习题,第16章 创建全球化应用程序,创建自定义的文化环境,16.2
8、创建自定义的文化环境,在.NET Framework 中,可以使用 CultureAndRegionBuilder 类根据自己的格式来创建新的文化环境 。,CultureAndRegionBuilder 类将公开 CultureInfo 类中的所有对象 如果想要把文化环境定义保存为一个外部文件,以便在其他计算机上再次使用该自定义文化环境,则可以调用 CultureAndRegionInfoBuilder 的 Save 方法,并将它的定义保存为 XML 文件,代码示例C,使用全球化类来处理文化环境信息 创建自定义的文化环境 使用主要编码类 使用高级编码类 小结 实验 习题,第16章 创建全球化应
9、用程序,字符编码 字符编码简介 使用 Encoding 和 EncodingInfo 类对字符进行编码 使用 ASCII 和 Unicode 标准对字符进行编码 ASCIIEncoding 类 UTF8Encoding 类 UnicodeEncoding 类,.,使用主要编码类,16.3 使用主要编码类,字符编码,16.3.1 字符编码,字符编码简介:,ASCII 标准 标准的 SBCS Unicode 编码 UTF-8 UTF-16 UTF-32,现在,几乎所有网络通信,包括 Internet 标准,都使用 Unicode 编码。,字符编码是用位序列表示字符的方法。人们使用的多种编码标准有:
10、,对字符进行编码,16.3.2 使用 Encoding 和 EncodingInfo 类对字符进行编码,Encoding 类表示字符编码,它是一个抽象类,ASCIIEncoding、UnicodeEncoding 和 UTF8Encoding 类是由它派生出来的。,EncodingInfo 类提供有关特定编码方式的基本信息。,在 EncodingInfo 的对象上调用 EncodingInfo.GetEncoding 方法,可以从 EncodingInfo 类的对象中获取Encoding 类的完整对象。,对字符进行编码,16.3.3 使用 ASCII 和 Unicode 标准 对字符进行编码,
11、ASCIIEncoding 类 使用 ASCIIEncoding 类的主要缺点之一就是它在编码或解码过程中遇到不能识别的字符时不会引发异常。 UTF8Encoding 类 UTF8Encoding 表示 Unicode UTF-8 编码方式,并能识别来自不同语言的所有 Unicode 字符。 UnicodeEncoding 类 UnicodeEncoding 类表示由 .NET Framework 2.0 实现的默认编码标准。,代码示例C,代码示例VB,使用全球化类处理文化环境信息 创建自定义的文化环境 使用主要编码类 使用高级编码类 小结 实验 习题,第16章 创建全球化应用程序,使用高级编
12、码类,16.4 使用高级编码类,使用 Encoder 和 EncoderFallback 类处理故障事件 使用 Decoder 和 DecoderFallback 类处理故障事件,代码示例C,代码示例VB,处理故障事件,16.4.1 使用 Encoder 和 EncoderFallback 类处理故障事件,.NET Framework 中提供了两个从EncoderFallback类继承的类,它们是EncoderReplacementFallback和 EncoderExceptionFallback。,使用EncoderReplacementFallback类时,将把不能识别的字符替换为Def
13、aultString 属性中定义的字符 使用EncoderExceptionFallback类时,会在遇到编码错误时引发异常,处理故障事件,16.4.2 使用 Decoder 和 DecoderFallback 类处理故障事件,.NET Framework 提供了两个从 DecoderFallback 类继承的类,它们是 DecoderReplacementFallback 和 DecoderExceptionFallback。,使用DecoderReplacementFallback 类时,将把不能识别的字符替换为DefaultString 属性中定义的字符 使用DecoderExcepti
14、onFallback 类时,会在遇到解码错误时引发异常,使用全球化类处理文化环境信息 创建自定义的文化环境 使用主要编码类 使用高级编码类 小结 实验 习题,第16章 创建全球化应用程序,16.5 小结,本章主要介绍了如何创建全球化的应用程序。.NET Framework 在 System.Globalization 命名空间中提供了可以帮助管理全球化和本地化的类。可以使用它们完成全球化过程、可本地化过程和本地化过程。,小结,使用全球化类处理文化环境信息 创建自定义的文化环境 使用主要编码类 使用高级编码类 小结 实验 习题,第16章 创建全球化应用程序,实验,16.6 实验,参照实验手册,并
15、在教师指导下完成实验报告。,使用全球化类处理文化环境信息 创建自定义的文化环境 使用主要编码类 使用高级编码类 小结 实验 习题,第16章 创建全球化应用程序,习题,16.7 习题,1. 你正在为 Adventure Works 公司开发一个应用程序。作为项目的扩展部分,你需要将多个内部应用程序本地化为同一区域的同一种语言。 如何创建新的文化环境作为 .NET Framework 和 Windows 操作系统中已定义的文化环境的补充? 请选择所有符合条件的答案。 A声明新的 CultureAndRegionInfoBuilder 实例 B将 Supplemental 属性设置为 true C将
16、 CultureAndRegionModifiers.None 值传递给 CultureAndRegionInfoBuilder 类的构造函数 D对新的 CultureAndRegionInfoBuilder 实例调用 SetSupplemental 方法以打开 Supplemental 标志 E将自定义文化环境的名称传递给 CultureInfo 类的新对象的构造函数,习题(续),2. 你为自行车制造商 AdventureWorks 工作。你已经定义了在多个本地化项目中使用的自定义文化环境格式。 你将如何在除原来注册该文化环境的系统之外的其他系统中重新使用由 CultureAndRegionInfoBuilder 类定义的新自定义文化环境? 请选择所有符合条件的答案。 A调用 CultureAndRegionInfoBuilder.Save 方法并将结果 XML 文件保存到新系统 B对新系统调用 CultureAndRegionInfoBuilder.CreateFromLdml 方法 C在调用 Register 方法后,将在 Win