本帖最后由 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 Ⅹ Ⅺ Ⅻ
|
或者说我应该分析bin文件,可能刚用软件转出来的bin是比较纯的字模数据
你想问什么呢?是想问,HEX文件中第二行的最后一个为什么是F0吗?
如果是的话,那么这个是校验字节,在BIN文件中不会存在。你可以百度一下intel hex文件格式。
第二行,:开头,10是数长度,0000是地址,00是数据类型,16个00为数据,最后的F0为校验值。校验值是,所有这一行的数据,除了:号之外,加起来的和最低字节为00。对于这一行的话,只有一个10和最后的F0,加起来是100,那么校验值就是XX00 - 10 = F0。
可以自己检验一下第二行,10 + 10 + 一堆00省略 + 81 + FF + 8C + D4 = 300
评分
查看全部评分
我现在反应过来,应该看刚软件转化出来的bin看上面我贴出来了
各有各的好处吧,HEX文件中带地址,带校验,数据传输时不容易出错,适合数据传输。
而BIN的数据最简单直接,适合在从内存中取数。
HEX文件,不用的地址,可以不填充。而BIN必须全部填充,中间不能间断。
帮我分析一下这个bin文件字模,第一二行表示什么字
BIN第一行没字,全空,漆黑一片。但第二行有数据。不知道你的字分辨率是多少?没有分辨率的话,不知道什么字
我想知道它前面几行都是哪些字的模
不是第二行有81 ff 8c 吗?那后面的数据呢
自己用软件转一个字,看看不就知道了吗?
不知道你用什么软件,什么分辨率,取模方式,横向、纵向,正数、倒数、纵向按字节,还是按一整行取。
什么都不知道,你这是玩呢吗?