字符、编码、Unicode杂谈PPT课件_第1页
字符、编码、Unicode杂谈PPT课件_第2页
字符、编码、Unicode杂谈PPT课件_第3页
字符、编码、Unicode杂谈PPT课件_第4页
字符、编码、Unicode杂谈PPT课件_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、字符、编码、Unicode,1,字符的编码历史,摩尔斯电码 计算机二进制表达的字符集 ASCII EBCDIC,2,计算机之前的时代,摩尔斯电码将字母表和简单的标点符号进行了编码化 盲文是另外一种类型的编码,3,远在DOS时代,计算机主要应用于英文和拉丁语系 ASCII-美国信息交换标准编码 编码范围 0127(单字节编码) 不满足其他国家地区特殊字符,4,IBM的解决方案,使用ASCII码表没有使用的128255的编码空间 在计算机的BIOS中间提供不同国家语言的不同编码CodePage 也叫做OEM Code Page,5,IBM的解决方案,解决了不同国家对于DOS下显示字符的问题 问题:

2、不能交换数据。显示希腊语言的机器如果需要显示日文,就必须要考虑更换Rom芯片,6,目前存在的各种代码页,OEM (IBM PC) 代码页 437 最初的 IBM PC 代码页,实现了扩展ASCII字符集 737希腊语 850 “多语言(Latin-1)” (西欧语言) 852 “斯拉夫(Latin-2)” (中欧及东欧语言) 855西里尔(Cyril)字母 857土耳其语 858 带欧元符号的“多语言” 860葡萄牙语 861冰岛语 863法语加拿大英语 865北欧 866西里尔(Cyril)字母 869希腊语,7,目前存在的各种代码页(二,中日韩语言代码页 932 日文 936 简体中文(G

3、BK) 949 韩文 950 繁体中文(大五码,8,目前存在的各种代码页(三,Windows (ANSI)代码页 874 泰文字母 1250 东欧拉丁字母 1251古斯拉夫语 1252 西欧拉丁字母 ISO-8859-1. 1253希腊语 1254土耳其语 1255希伯来语 1256阿拉伯语 1257巴尔 1258越南 1254土耳其语,9,Sample,使用C#做的字符到不同编码的转换Sample,10,主要的中文编码标准,GB2312 1981年实施,中国国家标准 中国和新加坡采用 6763个汉字,包括拉丁字母,希腊字母和日文假名、 GBK 汉字内码扩展规范,由微软制定,最早实现于Wind

4、ows95中文版 微软的CP936通常被视为等同GBK,11,主要的中文编码标准,GB 13000.1-93 等同于Unicode 1.1标准 GBK收录了GB13000.1-93全部字符但是编码方式不同。 GB 18030-2005 目前最新的字符集 全面兼容GBK 和UTF-8相同采用多字节编码。 更新至 Unicode 4.1标准(2000年标准兼容Unicode3.0,12,主要日文编码标准,ShiftJIS Shift_JIS是一个日本电脑系统常用的编码表。它能容纳全角及半角拉丁字母、平假名、片假名、符号及日语汉字。 它被命名为Shift_JIS的原因,是它在放置全角字符时,要避开原

5、本在0 xA1-0 xDF放置的半角假名字符。 在微软及IBM的日语电脑系统中,即使用了这个编码表。这个编码表称为CP932。 JIS-X0201 & JIS-X 0208,13,Unicode,志在一统全球语言文字编码 官网www.U 最新标准Unicode 现行6.2 准备中 标准目的在于为每一个可用的字符设置一个唯一编号,没有涉及任何编码方式,字长等,14,Unicode 6.x,早在5.x 版本,Unicode已经开始使用超过 0 xFFFF的值为字符进行编码 /versions/Unicode6.0.0/ 主要新增区块,1

6、5,16,17,Emoticons,18,絵文字 in Japanese,/wiki/Unicode6.0%E3%81%AE%E6%90%BA%E5%B8%AF%E9%9B%BB%E8%A9%B1%E3%81%AE%E7%B5%B5%E6%96%87%E5%AD%97%E3%81%AE%E4%B8%80%E8%A6%A7,19,IVS,http:/xa-wiki:8080/display/IMWIN7X/SRS_NewFormatKeyword_IVS_Knowledge Ideographic Variation Sequence(表意文字变化序列

7、) Adobe和微软(Windows8,20,Windows支持Unicode情况,Win7支持到Unicode 5.1标准 Win8支持到Unicode 6.0标准,21,Unicode in .NET,NET Char字长为Short,双字节,采用UTF-16等效编码方式表示字符。 超长字符串使用UTF32编码到UTF16编码等效映射方式保存,一对Char表示一个Unicode 字符。 代理字符SurrogateChar StringInfo & TextElement Char.IsHiSurrogate()/Char.IsLowSurrogate(,22,TextElement概念,IVS 孟加拉语 Unicode 中其他用超过一个.NET字符表达的字形,23,文件编码,UTF-8/UTF-16/UTF-32 UTF-16 Big Endian/UTF-32 Big Endian ShfitJIS/GB2312 UTF-8 Without Signature 不明真相的Default Encoding 方式保存文件 打开文件Demo,24,其他讨论,打开文件发现乱码的时候,请检查Encoding。 建议将带有双字节字符的Source Code

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论