06_国际化安全.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
6.3 推荐使用Unicode 实际上,理想的情况是,在软件开发的过程中,全程使用某一种编码。并且不在这种编码和别的字符集之间进行转换,自然不会出现字符集转换中信息丢失的问题。 在我们要选择的编码中,Unicode(Universal Multiple-Octet Coded Character Set)是一种值得推荐的字符集。 随着信息化交流的迅速发展,个体之间进行的数据交换越来越频繁,不同的编码体系渐渐成为信息交换的障碍;虽然我们可以进行编码转换,但是由于多种语言的文档共存的现象不断增多,编码转换也成了一件麻烦的事情。因此,设计一种统一的编码显得非常重要,此种情况下,Unicode应运而生。 Unicode又称统一码、万国码或单一码,是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。Unicode于1990年开始研发,在1994年正式公布。随着网络的发展和信息交流的增强, Unicode也在面世以来的十多年里得到普及。作为一种在计算机上使用的字符编码,针对每种语言中的每个字符,Unicode为都设定了统一并且唯一的二进制编码,这样,不管在什么语言,什么平台下,Unicode不需要转码,满足了跨语言、跨平台进行文本转换、处理的要求。 在Unicode公布之前,对于同一个字符,可能出现多种不同的编码,由于无法知道信息的来源,任何一台特定的计算机(特别是服务器)都必须安装多个字符集,需要支持许多不同的编码。但是有了Unicode,每个字符的编码就唯一了。 Unicode是采用16位编码体系,一律使用两个字节表示一个字符,特别值得强调的是,对于ASCII字符它也使用两字节表示。它覆盖了美国、欧洲、中东、非洲、印度、亚洲和太平洋的语言,以及古文和专业符号。由于支持Unicode的成员,一般都是全球主要系统及软件制造商,因此Unicode很快就成为事实上的工业标准。 Unicode制定了三套编码方式。分别是UTF-8,UTF-16和UTF-32(使用较少)。因此,如果在开发软件的过程中使用Unicode,并且不将Unicode和其他字符集进行转换,就基本上不会遇到转码过程中的安全问题。 不过,以上情况只是理想状态,实际操作的过程中,由于软件产品的生产商繁多,本软件使用了Unicode编码,无法保证其它软件(如数据库软件)使用的也是Unicode编码,因此要保证自己不遇到转码的问题,基本很难。 但是,Unicode的推荐使用,也为软件国际化难度的降低提供了一个较好的解决方案。 小结 本章对国际化(internationalization),进行了介绍,首先阐述了国际化和本地化的需求和基本原理,然后主要基于Visual C++语言,讲解了国际化转码中需要注意的安全问题,最后对Unicode的使用进行了推荐。 练习 1:一个软件能够有多种语言版本,并不是开发了多个版本。 (1) 用JSP完成一个页面,包含一个登录表单(参考6-1-1),要求能够在英文、简体中文、繁体中文之间切换。 (2) 资源文件的命名有何讲究? 2:在用Visual C++进行转码的过程中,会出现缓冲区溢出的问题,请用Visual C++对转码中缓冲区溢出的问题进行测试。 3:同一个字符在不同的字符集中可能有不同的表达方式。编写代码: (1) 查看“安全编程”的Unicode表示方法; (2) 查看“安全编程”在gb2312字符集中的表示方法。 4:书中提到,如果使用Unicode就可以避免转码问题。 (1) 为什么统一使用Unicode就没有转码问题? (2) 实际上实现起来有何难度? 5:很多语言都支持国际化资源文件。请用.Net系列编写若干个不同的资源文件,并且可以用资源文件改变网页上内容,以不同的语言显示。 第六章 国际化安全 国际化(internationalization),是为了保证软件产品适应不同区域语言要求的一种方式。由于英文单词 internationalization的首末字符i和n之间的字符数为18,因此业界内常把I18N作为“国际化”的简称。 以WEB应用为例,随着经济的发展,全球经济一体化已经慢慢成为一种主流趋势,WEB应用要求必须能够支持多国语言。对于同一个WEB应用,在不同的语言环境下需要显示不同的效果,来方便用户。我们经常看到,一些网站都有各个不同的语言版本,在运行时,能够根据客户浏览器所在的国家和语言的不同,显示不同的用户界面。 软件支持多种不同的语言,绝不是开发了软件的多个版本。业界具有一定的规则让信息进行复用,即对同样信息进行各种代码的转换。这样可以使得当需要在应用程序中添加对一种新的语言的支持时,不需要重新再开发一个软件,造成重复劳动。而安全问题就存在于代码转换的过程之中。 本章主要针对国际化过程中的安全

文档评论(0)

ldj215323 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档