内码转换技术 (转)[@more@]

一、基本概念
穞abGB码
全称是GB2312-80《信息交换用汉字编码字符集 基本集》,1980年发布,是中文信息处理的国家标准,在大陆及海外使用简体中文的地区(如新加坡等)是强制使用的唯一中文编码。P-windows3.2和苹果OS就是以GB2312为基本汉字编码, Windows 95/98则以GBK为基本汉字编码、但兼容支持GB2312。GB码共收录6763个简体汉字、682个符号,其中汉字部分:一级字3755,以拼音排序,二级字3008,以偏旁排序。该标准的制定和应用为规范、推动中文信息化进程起了很大作用。1990年又制定了繁体字的编码标准GB12345-90《信息交换用汉字编码字符集 第一辅助集》,目的在于规范必须使用繁体字的各种场合,以及古籍整理等。该标准共收录6866个汉字(比GB2312多103个字,其它厂商的字库大多不包括这些字),纯繁体的字大概有2200余个。(2312集与12345集不是相交的。一个是简体,一个是繁体)
穞abBIG5编
是目前台湾、香港地区普遍使用的一种繁体汉字的编码标准,包括440个符号,一级汉字5401个、二级汉字7652个,共计13060个汉字。Big-5 是一个双字节编码方案,其第一字节的值在 16 进制的 A0~FE 之间,第二字节在 40~7E 和 A1~FE 之间。因此,其第一字节的最高位是 1,第二字节的最高位则可能是 1,也可能是 0。
穞abGBK编码(Chinese Internal Code Specification)
GBK编码(俗称大字符集)是中国大陆制订的、等同于UCS的新的中文编码扩展国家标准。GBK工作小组于1995年10月,同年12月完成GBK规范。该编码标准兼容GB2312,共收录汉字21003个、符号883个,并提供1894个造字码位,简、繁体字融于一库。Windows95/98简体中文版的字库表层编码就采用的是GBK,通过GBK与UCS之间一一对应的码表与底层字库联系。其第一字节的值在 16 进制的 81~FE 之间,第二字节在 40~FE,除去xx7F一线。
穞abUnicode编码(Universal Multiple Octet Coded Character Set)
国际标准组织于1984年4月成立ISO/IEC JTC1/SC2/WG2工作组,针对各国文字、符号进行统一性编码。1991年美国跨国公司成立Unicode Consortium,并于1991年10月与WG2达成协议,采用同一编码字集。目前Unicode是采用16位编码体系,其字符集内容与ISO10646的BMP(Basic Multilingual Plane)相同。Unicode于1992年6月通过DIS(Draf International Standard),目前版本V2.0于1996公布,内容包含符号6811个,汉字20902个,韩文拼音11172个,造字区6400个,保留20249个,共计65534个。
二、一些注解
 在此解释一下我们常见的一些汉字内码转换工具:
1、 最常见的是GB2Big5和Big52GB转换工具。这里的GB指是GB2312集。
2、 GBK简体兼容GB2312字符集及其编码。不规范理解为GB就是GBK简体。
3、 繁体不等同于Big5,在GBK集中也有繁体,GB12345集也有繁体。但这三者的汉字编码方式不同。Windows95/98/NT/2000(简体中)中使用的都是GBK字符集;繁体版使用的是Big5字符集,在简体版中无法正常显示Big5字符,繁体版无法显示GB字符。
4、 在IE中,进入Big5码网站(如:台湾网站),如果安装有Big5字符集支持,IE会将Big5网页转换成GBK繁体显示,没有则是乱码。IE以GBK繁体显示时,在网页中输入的汉字应当是GBK繁体,以Big5码显示时(乱码),要输入Big5码字符(输入乱码? 先输入GBK简体----GB码,再使用小工具将其转换成Big5,拷贝,粘贴即可)。
5、 常见的小工具中,可将Big5转换成GBK繁体的不多,可将GBK简体繁体相互转换的也不多。其原因是,他们是将GB2312字符集与Big5字符集建立了对应关系。

三、内码转换原理及方法
 内码转换:就是在不同字符集之间建立一种对应关系。
 以GBK2Big5(简繁体都可)
如:让字,在GBK中编码是C8C3。如果我们将GBK码表中的字符变成Big5码格式,则C8C3位上的应该是攍och 让攠字的Big5码字符攠琵攠(琵字不是GBK中的琵,而是攠让攠字的Big5码汉字在GBK环境中显示结果)。这样我们读出要转换的文字,在GBK(已经转换成Big5格式)码表中找到它的位置,取出该位置上的字符,将原字符替换即可。
 
读写字符不是问题。关键是如何在码表文件中对该汉字进行定位和如何将纯GBK码表转换成Big5格式表示的GBK码表。
问题一、对汉字进行定位。
GBK 代码表(按代码顺序排列) 81-87 88-8F 90-97 98-9F A0-A7 A8-AF B0-B7 B8-BF
C0-C7 C8-CF D0-D7 D8-DF E0-E7 E8-EF F0-F7 F8-FE
81 0 1 2 3 4 5 6 7 8 9 A B C D E F
4 丂 丄 丅 丆 丏 丒 丗 丟 丠 両 丣 並 丩 丮 丯 丱
5 丳 丵 丷 丼 乀 乁 乂 乄 乆 乊 乑 乕

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-990519/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10752043/viewspace-990519/

内码转换技术 (转)相关推荐

  1. 一个特殊的内码转换处理对于XML格式的UTF-8

    一个特殊的内码转换处理对于XML格式的UTF-8 一般来说我们所使用的中文网站都是基于UTF-8的,只需要在录制或者是回放时设置对应的编码就行了,但是随着技术的升级,慢慢的我们发现有些内容的UTF-8 ...

  2. 常见的三种中文内码转换代码

    作者:ccrun    更新:2005-10-13    浏览:11660 常见的中文内码一般有GB2312(简体中文),GBK和台湾那边用的BIG5(繁体中文),有时候看一些台湾编程论坛里的资料,都 ...

  3. 文内码转换巨匠增强版 官方版

    中文内码转换巨匠增强版官方版是一款操作简单的中文内码转换软件.中文内码转换巨匠增强版官方版是在原普通版的基础上全新开发而成,软件与原普通版相比,中文内码转换巨匠增强版官方版具有功能更超强.用途更广泛. ...

  4. StrConv 内码转换

    StrConv(string,conversion,LCID) string,预转换的字符串了(也可以使用byte数组). Conversion: 是一个整数,只决定转换方式,VB里定义了一些常量,如 ...

  5. GBK与Big5之间如何做内码转换?

    GBK与Big5之间如何做内码转换? this is a question posted on 2012-08-19 10:11 lexus 阅读(...) 评论(...) 编辑 收藏 转载于:htt ...

  6. 内码转换表的来源与制作

    汉字编码标准与识别(三)     http://www.linuxeden.com/forum/thread-87657-1-1.html 内码转换表的来源与制作       由于历史和地域的原因,电 ...

  7. Conveter 内码转换 小程序

    好久没有在这里写东西了, 最近,忙了很多东西, 在准备考认证的时候做了这个小程序, 练习用的 一个简单的内码转换工具 下载位置:http://guanyc.googlepages.com/Conver ...

  8. UNICODE工程中,由十六进制的unicode字符内码转换成unicode字符

    UNICODE工程中,由十六进制的unicode字符内码转换成unicode字符(双字节) 这段程序片段是根据"一种字符串转化为16进制显示的算法"(http://www.cppb ...

  9. PHP的内码转换函数 mb_convert_encoding()

    PHP的内码转换函数 mb_convert_encoding() 转载:http://www.bitscn.com/pdb/php/200701/95622.html 因为某程序要用输出UTF-8编码 ...

最新文章

  1. 2022-2028年中国PE膜产业竞争现状及发展前景分析报告
  2. 查看linux是多少位的
  3. Sublime Text 3安装Package Control快速建立html5和xhtml文档
  4. c#中中读取嵌入和使用资源文件的方法
  5. 华为nova 8 Pro王者荣耀定制版曝光:内置小鲁班定制主题 电池盖镭雕小鲁班
  6. PCL Lesson1 :PCL库PCLVisualizer的简单使用
  7. 2018阿里-研发工程师JAVA Software Engineer, Java
  8. 分享Silverlight/WPF/Windows Phone/HTML5一周学习导读(2月27日-3月4日)
  9. 使用cordova,使html5也能像IOS,Android那样可以 调取手机的相机拍照功能
  10. python三维地质建模_GemPy三维地质建模工具包
  11. Geometric tampering estimation by means of a sift-based forensic analysis论文阅读
  12. 夏天计算机自动关机,电脑频繁自动关机,原因可能出在这
  13. activemq如何保证消息按顺序消费
  14. 用AnLink多屏协同软件可以同时操作电脑又看手机?
  15. Python基础之告警定义与告警抑制
  16. HTML5 CSS3 生日快乐动画网页(粉红色的回忆)
  17. cisco Linux SRv6 实战踩坑记录
  18. RGB取反,渐变色计算
  19. 乱码 Linux,linux中文乱码【图文教程】
  20. 【云安全】全面了解云安全

热门文章

  1. python数据库-3
  2. 在LiCO中实现模型训练
  3. 推荐系统[九]项目技术细节讲解z4:向量检索技术工程上实践,曝光去重实践以及检索引擎该如何选择:支撑亿级索引、5毫秒级的检索[elasticsearch、milvus]
  4. Visual Studio教程
  5. 基于proteus的功率_学习电路仿真:基于proteus电路仿真软件的步进电机仿真
  6. namenode元数据多目录配置及测试
  7. 5. 统计学基础1:平均值...四分位数、方差、标准差(均方差)、标准误(标准误差、均方根误差)、 标准分
  8. 文章阅读——Mysql技术内幕
  9. Leetcode 61~80
  10. CMD下添加IP地址,删除IP地址