C语言汉字编码

udbbjwxf 2010-10-21 07:58:10
fseek(fp, n * 32L, SEEK_SET);

for(int i=0; i<32; i++){
buf[i] = (unsigned char)fgetc(fp);
}
n是一个汉字在GB2312编码表中的具体位置,,那n乘32L是啥意思呢?
...全文
303 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ruigal 2011-10-11
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 bo_00 的回复:]
32L 在哪里被 #define 32 32L 了吧。找找。
[/Quote]

32L就是表示Long型的32吧,貌似这是C语言的一种表示方法,不是在哪定义的。
bo_00 2010-10-24
  • 打赏
  • 举报
回复
32L 在哪里被 #define 32 32L 了吧。找找。
zhutianjin4355255 2010-10-22
  • 打赏
  • 举报
回复
32L L表示long; 这个跟字库大小有关,
不知道楼主用的是几*几的字库?
从代码上可以理解为16*16;
这个值的算法为16*16/8 = 32;不同的字库都可以这么算,比如24*24/8;24*20/8;
zhutianjin4355255 2010-10-22
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 udbbjwxf 的回复:]
buf[i] = (unsigned char)fgetc(fp);这个数组它得到了什么?fp它所指的单元是什么东东?????好难理解汉字到底在计算机中是如何表达的?
[/Quote]


取得一段数据,fp指向的是文件的内容, 汉字在计算机中以0 ,1 表示,就像一块方块,1填黑,0不填,出来就是一个汉字
udbbjwxf 2010-10-22
  • 打赏
  • 举报
回复
buf[i] = (unsigned char)fgetc(fp);这个数组它得到了什么?fp它所指的单元是什么东东?????好难理解汉字到底在计算机中是如何表达的?
saishow 2010-10-22
  • 打赏
  • 举报
回复
LS强力党啊
赵4老师 2010-10-21
  • 打赏
  • 举报
回复
每个汉字的16x16点阵要占用32个字节

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧