OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 9576|回复: 8

原子哥 你好 问你几个问题关于汉字显示实验的 论坛搜了下貌似没有

[复制链接]

10

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2012-3-2
在线时间
1 小时
发表于 2012-5-28 16:13:22 | 显示全部楼层 |阅读模式
就是关于汉字显示 关于汉字如何显示这个我知道 每个汉字就像一个二维数字 非黑即白的塞秒显示 而这些数据统统在字库之中 我下面对于GBK还有UNICODE码以及转换的几个问题不是很理解
1. 原子哥的书中说 XP在存储长文件名使用UN码 我想问下什么是长文件名啊。。
2.我现在用字库软件生成了字库 通过理解这里面包含了两部分内容 一个是汉字的内码 一个是内码所对应的点阵数据 是这样么?汉字 ”我“ GBK码表中 假设25是“我” 那么再通过25一个计算公式在点阵数据库中找到”我“的点阵数据 这么理解对么?
3.那么原子哥的汉字显示实验并没有用到SD卡 是不是原子哥直接把GBK码以及点阵数据传到单片机的FLASH中而不需要UN转GBK么?
我在汉字显示文件下发现如下几个文件 fontupd文件是寻找字库升级的 这个要配合SD卡 text文件是得知点阵数据之后打印汉字的程序 untogb是转码程序 还有一个un_gb_tab这个程序打开是如下内容 const u16 UnicodeToGB2312_Tab[][2] = 
//常用汉字的Unicode码和GB2312码对照表
0x00A4,0xA1E8,
0x00A7,0xA1EC,
0x00A8,0xA1A7,
。。。。
}7000多行的样子
这个文件是什么 对照表不是已经有转换公式了么  为什么我没有找到原子哥的点阵数据库啊 在哪个文件里?
4.最后一个问题 我要现实”我“这个字GBK码25 ”你“GBK”码是26  假设XP系统中”我“的UN码是46 程序传递给单片机的仅仅46这个码数子对吧 我需要的是在单片机中把46编程25这样才能正确显示“我” 我这么理解没问题吧 如果转换出现问题我加了个1 实际上显示出来的是26而非25就是“你” 我理解对了么?
5.最后一个问题 倘若我第四个问题没有理解错误那么为何不直接生成UN码及字库对照表给单片机送过去。。不是不需要转换了么。。。




投胎是个技术活
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

38

主题

2061

帖子

6

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3273
金钱
3273
注册时间
2012-1-16
在线时间
37 小时
发表于 2012-5-28 18:21:53 | 显示全部楼层
回复【楼主位】逍遥景天:
---------------------------------
1.我的理解是长文件名是相对于8.3格式及8个字节的文件名+3个字节的扩展件名来讲的,在FAT32文件系统中采用UNICODE存储长文件名最大好像支持255个字节。如果要显示长文件名必须通过UNICODE转GBK码表得到GBK,这个没有规律只能通过一堆数组实现。
2.是的,不过是GBK是两个字节哦,原子哥有个内码查询软件,可以看看。
3.用到了SD卡的,假如你已近更新了字库,就不要用了。
4.一般单片机的ROM有限,无法容纳这么大的数组。
站在巨人的肩膀上不断的前进。。。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-5-28 22:35:19 | 显示全部楼层
楼上都帮我解答了...
谢谢.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

38

主题

2061

帖子

6

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3273
金钱
3273
注册时间
2012-1-16
在线时间
37 小时
发表于 2012-5-28 22:45:30 | 显示全部楼层
回复【3楼】正点原子:
---------------------------------
看到原子哥,水平那么高,还不厌其烦的来经常为我们解答问题,真的难能可贵。真正的大师!
站在巨人的肩膀上不断的前进。。。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-5-28 22:48:27 | 显示全部楼层
说我水平高,有点过奖了,呵呵.我就会点STM32....
论坛都有很多水平比我高的.只是不轻易露脸罢了....
希望大家来我们论坛后都有进步,然后带动更多的人进步.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

10

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2012-3-2
在线时间
1 小时
 楼主| 发表于 2012-5-29 00:00:56 | 显示全部楼层
回复【2楼】xiaoyan:
回复【楼主位】逍遥景天:
---------------------------------
1.我的理解是长文件名是相对于8.3格式及8个字节的文件名+3个字节的扩展件名来讲的,在FAT32文件系统中采用UNICODE存储长文件名最大好像支持255个字节。如果要显示长文件名必须通过UNICODE转GBK码表得到GBK,这个没有规律只能通过一堆数组实现。
2.是的,不过是GBK是两个字节哦,原子哥有个内码查询软件,可以看看。
3.用到了SD卡的,假如你已近更新了字库,就不要用了。
4.一般单片机的ROM有限,无法容纳这么大的数组。
---------------------------------
第三点可能你还没理解我的意思。。就是第一次汉字显示实验烧程序 我根本就没有插SD卡 但是一样可以显示汉字 那说明有些东西是跟着HEX文件进FLASH了。。但是我没有找到那个包含的文件含有GBK码。。。

投胎是个技术活
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-5-29 00:31:18 | 显示全部楼层
回复【6楼】逍遥景天:
---------------------------------
那是因为之前板子在出厂的时候,都已经更新过字库了.而字库是存在外部flash的,掉电后,不会丢失.并且有标志位,标志字库是否存在.所以,当你再自己刷其他代码的时候,程序会先检测外部flash里面是否有字库,如果有,就不更新了.如果没有,才会去执行更新.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

10

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2012-3-2
在线时间
1 小时
 楼主| 发表于 2012-5-29 14:38:11 | 显示全部楼层
回复【7楼】正点原子:
---------------------------------
原来是这样 谢谢原子哥了
投胎是个技术活
回复 支持 反对

使用道具 举报

头像被屏蔽

6168

主题

7036

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
19705
金钱
19705
注册时间
2012-12-27
在线时间
25 小时
发表于 2013-8-5 19:47:37 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-15 16:21

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表