你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

关于gb2312字库的问题

[复制链接]
wwwheihei 提问时间:2018-8-30 13:46 /
本帖最后由 wwwheihei 于 2018-8-30 14:31 编辑

软件做出字库bin文件,我想分析里面的数据但是不知道怎么分析它?我想知道它前面几行都是哪些字的模
以下是搜到的资料,
http://blog.csdn.net/zixiao217/article/details/52856814

GB2312编码范围:A1A1-FEFE,其中汉字的编码范围为B0A1-F7FE,第一字节0xB0-0xF7(对应区号:16-87),第二个字节0xA1-0xFE(对应位号:01-94)

GB2312编码是第一个汉字编码国家标准,由中国国家标准总局1980年发布,1981年5月1日开始使用。GB2312编码共收录汉字6763个,其中一级汉字3755个,二级汉字3008个。同时,GB2312编码收录了包括拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母在内的682个全角字符。

分区表示
GB2312编码对所收录字符进行了“分区”处理,共94个区,每区含有94个位,共8836个码位。这种表示方式也称为区位码。
01-09区收录除汉字外的682个字符。
10-15区为空白区,没有使用。
16-55区收录3755个一级汉字,按拼音排序。
56-87区收录3008个二级汉字,按部首/笔画排序。
88-94区为空白区,没有使用。
举例来说,“啊”字是GB2312编码中的第一个汉字,它位于16区的01位,所以它的区位码就是1601。

双字节编码
GB2312规定对收录的每个字符采用两个字节表示,第一个字节为“高字节”,对应94个区;第二个字节为“低字节”,对应94个位。所以它的区位码范围是:0101-9494。区号和位号分别加上0xA0就是GB2312编码。例如最后一个码位是9494,区号和位号分别转换成十六进制是5E5E,0x5E+0xA0=0xFE,所以该码位的GB2312编码是FEFE。

从这里看第一个显示的是空格,但是hex里面最后又个f0,搞不懂

01 0 1 2 3 4 5 6 7 8 9
0     、 。 · ˉ ˇ ¨ 〃 々
1 — ~ ‖ … ‘ ’ “ ” 〔 〕
2 〈 〉 《 》 「 」 『 』 〖 〗
3 【 】 ± × ÷ ∶ ∧ ∨ ∑ ∏
4 ∪ ∩ ∈ ∷ √ ⊥ ∥ ∠ ⌒ ⊙
5 ∫ ∮ ≡ ≌ ≈ ∽ ∝ ≠ ≮ ≯
6 ≤ ≥ ∞ ∵ ∴ ♂ ♀ ° ′ ″
7 ℃ $ ¤ ¢ £ ‰ § № ☆ ★
8 ○ ● ◎ ◇ ◆ □ ■ △ ▲ ※
9 → ← ↑ ↓ 〓

02 0 1 2 3 4 5 6 7 8 9
0   ⅰ ⅱ ⅲ ⅳ ⅴ ⅵ ⅶ ⅷ ⅸ
1 ⅹ       ⒈ ⒉ ⒊
2 ⒋ ⒌ ⒍ ⒎ ⒏ ⒐ ⒑ ⒒ ⒓ ⒔
3 ⒕ ⒖ ⒗ ⒘ ⒙ ⒚ ⒛ ⑴ ⑵ ⑶
4 ⑷ ⑸ ⑹ ⑺ ⑻ ⑼ ⑽ ⑾ ⑿ ⒀
5 ⒁ ⒂ ⒃ ⒄ ⒅ ⒆ ⒇ ① ② ③
6 ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩   ㈠
7 ㈡ ㈢ ㈣ ㈤ ㈥ ㈦ ㈧ ㈨ ㈩ 
8  Ⅰ Ⅱ Ⅲ Ⅳ Ⅴ Ⅵ Ⅶ Ⅷ Ⅸ
9 Ⅹ Ⅺ Ⅻ  


ffd.png
收藏 评论24 发布时间:2018-8-30 13:46

举报

24个回答
wwwheihei 回答时间:2018-8-30 13:52:22
本帖最后由 wwwheihei 于 2018-8-30 14:09 编辑

或者说我应该分析bin文件,可能刚用软件转出来的bin是比较纯的字模数据
ffd.png
toofree 回答时间:2018-8-30 14:21:39
本帖最后由 toofree 于 2018-8-30 14:25 编辑

你想问什么呢?是想问,HEX文件中第二行的最后一个为什么是F0吗?
如果是的话,那么这个是校验字节,在BIN文件中不会存在。你可以百度一下intel hex文件格式。
傲游截图20180830141833.png

第二行,:开头,10是数长度,0000是地址,00是数据类型,16个00为数据,最后的F0为校验值。校验值是,所有这一行的数据,除了:号之外,加起来的和最低字节为00。对于这一行的话,只有一个10和最后的F0,加起来是100,那么校验值就是XX00 - 10 = F0。

可以自己检验一下第二行,10 + 10 + 一堆00省略 + 81 + FF + 8C + D4 = 300

评分

参与人数 1蝴蝶豆 +4 收起 理由
zero99 + 4

查看全部评分

wwwheihei 回答时间:2018-8-30 14:24:47
toofree 发表于 2018-8-30 14:21
你想问什么呢?是想问,HEX文件中第二行的最后一个为什么是F0吗?
如果是的话,那么这个是校验字节,在BIN ...

我现在反应过来,应该看刚软件转化出来的bin看上面我贴出来了
toofree 回答时间:2018-8-30 14:28:54
wwwheihei 发表于 2018-8-30 14:24
我现在反应过来,应该看刚软件转化出来的bin看上面我贴出来了

各有各的好处吧,HEX文件中带地址,带校验,数据传输时不容易出错,适合数据传输。
而BIN的数据最简单直接,适合在从内存中取数。
HEX文件,不用的地址,可以不填充。而BIN必须全部填充,中间不能间断。
wwwheihei 回答时间:2018-8-30 14:29:57
toofree 发表于 2018-8-30 14:28
各有各的好处吧,HEX文件中带地址,带校验,数据传输时不容易出错,适合数据传输。
而BIN的数据最简单直 ...

帮我分析一下这个bin文件字模,第一二行表示什么字
toofree 回答时间:2018-8-30 14:31:41
本帖最后由 toofree 于 2018-8-30 14:34 编辑
wwwheihei 发表于 2018-8-30 14:29
帮我分析一下这个bin文件字模,第一二行表示什么字

BIN第一行没字,全空,漆黑一片。但第二行有数据。不知道你的字分辨率是多少?没有分辨率的话,不知道什么字
wwwheihei 回答时间:2018-8-30 14:32:11
toofree 发表于 2018-8-30 14:28
各有各的好处吧,HEX文件中带地址,带校验,数据传输时不容易出错,适合数据传输。
而BIN的数据最简单直 ...

我想知道它前面几行都是哪些字的模
wwwheihei 回答时间:2018-8-30 14:34:19
toofree 发表于 2018-8-30 14:31
BIN第一行没字,全空,漆黑一片。

不是第二行有81 ff   8c 吗?那后面的数据呢
toofree 回答时间:2018-8-30 14:38:04
wwwheihei 发表于 2018-8-30 14:34
不是第二行有81 ff   8c 吗?那后面的数据呢

自己用软件转一个字,看看不就知道了吗?
不知道你用什么软件,什么分辨率,取模方式,横向、纵向,正数、倒数、纵向按字节,还是按一整行取。
什么都不知道,你这是玩呢吗?

123下一页

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版