gbk编码表如何制作GBK与Unicode的对照表

gbk编码表  时间:2021-01-13  阅读:()

GBK版与UTF版有什么区,哪个好

ASCII(ISO-8859-1)是鼻祖,最简单的方式,字节高位为0 GB2312、GBK、GB18030,这几个是中文编码方式,并向下兼容。

GB2312包含7000多个汉字和字符,GBK包含21000多个,GB18030更厉害,到了27000多个。

他们都是用2个字节来表示一个汉字。

跟ascii是怎么区分的呢?如果高字节的高位为1(也就是高字节大于127),就表示是汉字,低字节并无明显特征。

Unicode是统一编码,它建立了一个全世界统一的码表。

世界上的所有文字,在这张码表中都是唯一的。

UTF-8是Unicode的一种存储、传输方式。

它将整个Unicode码表分为3部分。

0000 - 007F 这部分是最初的ascii部分,按原始的存储方式,即0xxxxxxx。

0080 - 07FF 这部分存储为110xxxxx 10xxxxxx 0800 - FFFF 这部分存储为1110xxxx 10xxxxxx 10xxxxxx 因此,一个汉字究竟被存储为什么,就需要:先查unicode码表,然后根据在码表的位置进行计算。

例如:“电”字,在码表中是3575,计算成utf8就是E794B5,而在GB2312的码表中为B5E7 UTF-8的好处:兼容ASCII,存储英文文件都是单字节,文件小。

当然,当以存中文为主时就变成了3字节编码了,比GB系列还大!如何标明一个文件是utf8格式呢?这个标记是可选的:EF BB BF。

比如,用windows自带的记事本创建一个utf8格式的文件,就会加上这个标记。

但是,如果用ultraedit创建utf8文件,并不会加上这个标记。

这个标记有个术语,叫做BOM(Byte Order Mark)。

不带BOM的utf8文件和GB2312文件怎么区分呢?我也不知道。

唯一能想到的办法就是:先用一种试,如果出现乱码,就用另一种再试:) UTF-16是双字节存储,这就带来一个问题,即高低字节的顺序。

两个字节有两种顺序,它们也用BOM来标明。

分为大尾码和小尾码两种。

大尾码的BOM是FEFF,小尾码的BOM是FFFE 所以我觉得还是GBK好些,如果你是中文站的话 以上内容引用某人博客

gbk 编码表查询

GBK码: 华=BBAA 堉=88D6 竹=D6F1 GBK码数字形式: 华=11,11,10,10 堉=8,8,13,6 竹=13,6,15,1

如何制作GBK与Unicode的对照表

从网上搜索到发表于2010年的《制作GBK-Unicode编码对照表的方法》拷贝于下供参考: Java的字符串String类功能强大,不但能进行一些基本的字符串操作,还可以根据需要构造指定字符集的字符串,本文所介绍的方法正是利了这一点,这种方法的基本思路是: 1、遍历GBK编码表中的所有汉字,使用该字的GB编码构造一个字符串。

GBK编码表中各部分的汉字分块比较整齐,很容易遍历。

2、使用getBytes方法取得该字符的字节数组,由于Java是用unicode来表示字符的,所以此汉字的unicode就在其中。

以下是一段示例代码: { int count = 0; for(int segIndex=0xb0; segIndex<=0xf7; segIndex++) { for(int charIndex=0xa1; charIndex<=0xfe; charIndex++) { byte gbkBytes = new byte {(byte)(segIndex), (byte)charIndex}; byte unicodeBytes; String str = new String(gbkBytes,"GBK"); unicodeBytes = str.getBytes("unicode"); if(unicodeBytes.length == 4) { count++; String buffer = ""; for (int i=0;ibr /> buffer += (int)(0x00ff&gbkBytes[i]) + " "; for (int i=3;i>1;i--) buffer += (int)(0x00ff&unicodeBytes[i]) + " "; buffer += ""; osw.write(buffer); } } } } 这一段是对GBK/2区的汉字进行遍历并处理的代码,GBK/2区的首字节范围在[0xb0,0xf7],尾字节范围在[0xa1,0xfe],在构造字符串时使用的字符集为GBK String str = new String(gbkBytes,"GBK"); 在使用getBytes取得的字节数组中会有四个元素,前两个不知是做什么用的,可能与字符串本身的结构有关,接下来的两个字节才是真正的unicode码。

但这两个字节是倒序的,要从最后一个字节开始取,之所以这样是与big_endian和little_endian有关的,这里不多说。

当每一次内层循环结束时,buffer字符串中前两个数字就是一个GB码,后面两个数字就是一个unicode码,把它写到文件中就行了。

这样的文件得到之后,再在另外的程序中载入文件,把Unicode值装入数组,以GB码为索引,就可以很方便地由GB码查得Unicode码。

PacificRack(19.9美元/年)内存1Gbps带vps1GB洛杉矶QN机房,七月特价优惠

pacificrack怎么样?pacificrack商家发布了七月最新优惠VPS云服务器计划方案,推出新款优惠便宜VPS云服务器采用的是国产魔方管理系统,也就是PR-M系列,全系基于KVM虚拟架构,这次支持Windows server 2003、2008R2、2012R2、2016、2019、Windows 7、Windows 10以及Linux等操作系统,最低配置为1核心2G内存1Gbps带宽1...

金山云:618年中促销,企业云服务器2核4G仅401.28元/年,827.64元/3年

金山云618年中促销活动正在进行中!金山云针对企业级新用户优惠力度比普通个人用户优惠力度要大,所以我们也是推荐企业新用户身份购买金山云企业级云服务器,尽量购买3年配置的,而不是限时秒杀活动中1年的机型。企业级用户购买金山云服务器推荐企业专区:云服务器N3 2核4G云服务器,1-5M带宽,827.64元/3年,性价比高,性能稳定!点击进入:金山云618年中促销活动目前,金山云基础型E1云服务器2核4...

10gbiz首月半价月付2.36美元,香港/洛杉矶VPS、硅谷独立服务器/站群服务器

收到10gbiz发来的7月份优惠方案,中国香港、美国洛杉矶机房VPS主机4折优惠码,优惠后洛杉矶VPS月付2.36美元起,香港VPS月付2.75美元起。这是一家2020年成立的主机商,提供的产品包括独立服务器租用和VPS主机等,数据中心在美国洛杉矶、圣何塞和中国香港。商家VPS主机基于KVM架构,支持使用PayPal或者支付宝付款。洛杉矶VPS架构CPU内存硬盘带宽系统价格单核512MB10GB1...

gbk编码表为你推荐
赛我网赛我网的号自己能封吗?cornerradiusUG后处理可以输出自定义刀具描述吗?网络明星哪个知道这个网络明星叫什么?无线路由器限速设置如何设置无线路由器局域网限速?个性qq资料QQ个性资料arm开发板新手入门应如何选择 ARM 开发板?镜像文件是什么镜像文件是什么意思?彩信中心短信中心号码是多少天天酷跑刷金币天天酷跑怎么刷金币?怎么点亮qq空间图标如何点亮QQ空间图标
香港虚拟主机 花生壳动态域名 万网域名空间 vps租用 阿里云os google镜像 linkcloud 域名优惠码 好玩的桌面 lamp配置 512m内存 免费ftp空间申请 嘉洲服务器 警告本网站美国保护 免费mysql bgp双线 1g空间 七夕快乐英语 独享主机 免费网络 更多