如何将得到的汉字内码转换成相应的汉字,参与有分。

gyj_china 2003-09-28 10:17:58
我想要将内码转换成用户能看得懂的文字信息。如何能实现,对提供解决方案的参与者我将发信息或信件通知另外领取100分,说话算数。
...全文
456 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
wrmfwtomcom 2003-09-29
  • 打赏
  • 举报
回复
swites(难民营中的人)师兄多谢啦!

因为我是新手上路,所以不太懂啦,我用的是
PostMessage(Edit1->Handle, WM_CHAR, (WPARAM)('今' & 0xFF), 0);
想实现:按下Button1后,在Edit1中输出一个汉字或一句话。
可是不好用,能否再帮帮忙?可以发邮件吗?wrmfw@tom.com
多谢!

我感觉您是一位从事文字处理或输入法编程的师兄吧?
swites 2003-09-29
  • 打赏
  • 举报
回复
to:: wrmfwtomcom(为人民服务:))
“模拟键盘按键 自动输入文字”的问题实际上是字符码转化成内码的过程,你需要做两步工作
1.设计你的模拟键盘模块
2.设计你的输入法或者使用标准输入法的接口,有输入法模块进行内码转换.
swites 2003-09-29
  • 打赏
  • 举报
回复
to:: gyj_china(透明)
用下面函数实现解析出汉字串内码:
unsigned char *TakeCode(unsigned char *string,unsigned *h)
{
if((*h=*string++)==0)
return NULL;
else
{
if(*h>0xa0 && *string>0xa0)
*h|=(*string++)<<8;
return string;
}
}
swites 2003-09-29
  • 打赏
  • 举报
回复
to:wrmfwtomcom(为人民服务:))
你可以把你的代码或者设计思路告诉我!
swites@163.com
gyj_china 2003-09-29
  • 打赏
  • 举报
回复
我从IC卡上获得B1BEBFC6一串机内码,我知道这代表“本科”两个字,我如何实现批量转换。

对老妖,难民营中的人分别各给一百分大家是否同意?
同时也希望大家共同关注这个问题。明天结贴,非常感谢大家的参与。
csdnxw 2003-09-29
  • 打赏
  • 举报
回复
swites,wrmfwtomcom还等着你回答呐!
csdnxw 2003-09-29
  • 打赏
  • 举报
回复
swites,wrmfwtomcom还等着你回答呐!
ccrun.com 2003-09-29
  • 打赏
  • 举报
回复
按下Button1后,在Edit1中输出一个"今"字

PostMessage(Edit1->Handle, WM_CHAR, (WPARAM)(0xBD), 0);
PostMessage(Edit1->Handle, WM_CHAR, (WPARAM)(0xF1), 0);
土著巫师 2003-09-28
  • 打赏
  • 举报
回复
楼主不会说得是DOS下的汉字点阵直接写屏吧?如是是给我一个消息,我给你一段直接写屏函数,网上应该也可以找得到。
sunxiaohui 2003-09-28
  • 打赏
  • 举报
回复
char a[3];
a[0]=176;
a[1]=161;
a[2]=0;
ShowMessage(a);
屏幕显示“啊”.
COpyFRee 2003-09-28
  • 打赏
  • 举报
回复
观点同上
Behard 2003-09-28
  • 打赏
  • 举报
回复
不理解楼主的意思

^_^ 内码不就是汉字了吗?
xizhouhawk 2003-09-28
  • 打赏
  • 举报
回复
你只要有字库不就可以了吗?windows里面有现成的字库!
wrmfwtomcom 2003-09-28
  • 打赏
  • 举报
回复
swites(难民营中的人)师兄!

真是个好人!真让我长见识了!崇拜ing……

请问能否帮帮我的问题-“模拟键盘按键 自动输入文字”的问题:)?
多谢!
佣工7001 2003-09-28
  • 打赏
  • 举报
回复
学习了
swites 2003-09-28
  • 打赏
  • 举报
回复
你要有下面概念:
1.字符码 --->输入的信息
2.汉字内码 --->中间信息
3.汉字字模 --->字库
程序中的汉字是这样实现的:

eg. string x="信息";
printf("信息");
流程: 字符--->内码--->字模--->显示
英文字符1个字节,中文2个字节.
主要是内码转换和取字模根据不同的标准而不同,现行的标准有big5,gb2312-80,unicode等标准.他们主要是汉字的组织方式不同而已.不过我们常用的是gb2312-80,他把汉字分为2个部分,一个是与英文兼容,一个是存储汉字部分.字库实际上就是一个存储汉字形状的数据库有矢量(.ttf)和图形(原来的ucdos字库).字摸定位公式 addr=((区码-1)*94+位码-1)*汉字点阵字节数
区码=内码低字节-160
位码=内码高字节-160
用画点函数描出各点即可.这种方法只适合图形字库,.ttf字库不行.


如果你只是想用windows窗体输出的话只需将内码还原让CB的printf()\caption\Text内部搞定即可,方法如下:
key=汉字内码;
////////////////////////////////////////////////////////////////////////////////
unsigned char key[3]={0xb3,0xa7,0};//厂-->0xb3a7 后边的0是用来截至字串的
Edit1->Text=AnsiString((char*)key);
huangjuliang 2003-09-28
  • 打赏
  • 举报
回复
同意楼上的!
就是这样呀,没有其它的呀!
String a=String((char)176)+String((char)161); // 啊的两字节内码是176,161
ShowMessage(a); // 将显示“啊"
BCB 2003-09-28
  • 打赏
  • 举报
回复
这很简单:
String a=String((char)176)+String((char)161); // 啊的两字节内码是176,161
ShowMessage(a); // 将显示“啊"
yjy1001 2003-09-28
  • 打赏
  • 举报
回复
不懂 关注
帮你up一下

1,222

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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