H huifi Unregistered / Unconfirmed GUEST, unregistred user! 2002-11-01 #1 正在做串口通信程序,在发送端将汉字用机内码发送(如‘吗’字发送194,240), 现在的问题是:接收端如何由'194,240'这两个字节转换成'吗'字???
B Bxch_1000 Unregistered / Unconfirmed GUEST, unregistred user! 2002-11-01 #2 procedure TForm1.Button1Click(Sender: TObject); var Str: string; begin SetLength(Str,2); Str[1]:=Chr(194); Str[2]:=Chr(240); Edit1.Text:=Str; end;
procedure TForm1.Button1Click(Sender: TObject); var Str: string; begin SetLength(Str,2); Str[1]:=Chr(194); Str[2]:=Chr(240); Edit1.Text:=Str; end;
R Richard3000 Unregistered / Unconfirmed GUEST, unregistred user! 2002-11-01 #3 你需要做判斷,判斷內碼是不是漢字。 [red]GB2312(簡體字)的內碼範圍高位$A1--$FE低位也是$A1--$FE;[/red] [red]BIG5(繁體字)的內碼範圍高位$A1-$F9低位是$40--$FE。[/red] 剩下的就不用我說了吧?!
你需要做判斷,判斷內碼是不是漢字。 [red]GB2312(簡體字)的內碼範圍高位$A1--$FE低位也是$A1--$FE;[/red] [red]BIG5(繁體字)的內碼範圍高位$A1-$F9低位是$40--$FE。[/red] 剩下的就不用我說了吧?!
L liuxudong Unregistered / Unconfirmed GUEST, unregistred user! 2002-11-01 #4 这个汉字问题害我不浅 原来我用DREAMWEAVER,如果超级连接里面有汉字,统统被保存为机内码,就是你说的样子 想了好久,才想到 1、逐个字符解析,根据大小判断是否汉字 2、TempString是汉字就用把后面的字节与之合并,因为汉字双字节 TempString左移八位+TempString[i+1] 3、不是汉字就直接TempString 最后成功的把中英文混合串解析了出来
这个汉字问题害我不浅 原来我用DREAMWEAVER,如果超级连接里面有汉字,统统被保存为机内码,就是你说的样子 想了好久,才想到 1、逐个字符解析,根据大小判断是否汉字 2、TempString是汉字就用把后面的字节与之合并,因为汉字双字节 TempString左移八位+TempString[i+1] 3、不是汉字就直接TempString 最后成功的把中英文混合串解析了出来
J jsxjd Unregistered / Unconfirmed GUEST, unregistred user! 2002-11-01 #5 用 widestring 转换一下。 不转换也行: procedure TForm1.Button4Click(Sender: TObject); var s:string; c:array[0..1] of char; begin s:=#194#240; c[0]:=#194; c[1]:=#240; showmessage(c); end;
用 widestring 转换一下。 不转换也行: procedure TForm1.Button4Click(Sender: TObject); var s:string; c:array[0..1] of char; begin s:=#194#240; c[0]:=#194; c[1]:=#240; showmessage(c); end;