怎样将汉字的机内码转换成汉字?(200分)(200分)

  • 主题发起人 主题发起人 huifi
  • 开始时间 开始时间
H

huifi

Unregistered / Unconfirmed
GUEST, unregistred user!
正在做串口通信程序,在发送端将汉字用机内码发送(如‘吗’字发送194,240),
现在的问题是:接收端如何由'194,240'这两个字节转换成'吗'字???
 
你知道怎样将"吗"转换成机内码,难道不知道怎样转换回来.
 
dragonlee007 , 这么小气:),会就说出来吗,要分,我也可以给
 

var
a:array [0..255] of byte;
begin
a[0]:=194;
a[1]:=240;
showmessage(char(a[0])+char(a[1]));//显示为'吗'

end;
 
你需要做判斷,判斷內碼是不是漢字。
[red]GB2312(簡體字)的內碼範圍高位$A1--$FE低位也是$A1--$FE;[/red]
[red]BIG5(繁體字)的內碼範圍高位$A1-$F9低位是$40--$FE。[/red]
剩下的就不用我說了吧?!
 
Richard3000+resun就对了。
这个汉字问题害我不浅
原来我用DREAMWEAVER,如果超级连接里面有汉字,统统被保存为机内码,就是你说的样子
想了好久,才想到
1、逐个字符解析,根据大小判断是否汉字
2、TempString是汉字就用把后面的字节与之合并,因为汉字双字节 TempString左移八位+TempString[i+1]
3、不是汉字就直接TempString
最后成功的把中英文混合串解析了出来
 
l := 机内码;
s:= chr(l shr 8) + chr(l and $ff)
 
后退
顶部