var I: Integer; S: WideString; Code: Word; R: String; begin S := '你好are'; for I := 1 to Length(S) do begin Move(S[I], Code, SizeOf(Code)); R := R + '$' + IntToHex(Code, 2); end; ShowMessage(R); end;———————————————————————————————————— 宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。 ————————————————————————————————————
目中文编码的实现过程 通过Delphi的WideString类型转换,可以巧妙地实现GB2312到Unicode的编码转换(注意代码页和操作系统相关联)。下面是实现中文编码的部分Delphi 5代码: // 中文格式编码,s为Unicode String function Encode2(var s:WideString):String; var i,len:Integer; cur:Integer; t:String; begin Result:=‘’; len:=Length(s); i:=1; while i<=len do begin cur:=ord(s[i]); //BCD转换 FmtStr(t,‘%4.4X’,[cur]); Result:=Result+t; inc(i); end; end;
lxpbuaa的方法,转换后的编码里包含$符号发送到手机的时候不能识别,有没有其他的办法呢?
function Encode2(var s:WideString):String; var i,len:Integer; cur:Integer; t:String; begin Result:=''; len:=Length(s); i:=1; while i<=len do begin cur:=ord(s[i]); //BCD转换 FmtStr(t,'%4.4X',[cur]); Result:=Result+t; inc(i); end; end; 我一直用,不管用吗?????????
I: Integer;
S: WideString;
Code: Word;
R: String;
begin
S := '你好are';
for I := 1 to Length(S) do
begin
Move(S[I], Code, SizeOf(Code));
R := R + '$' + IntToHex(Code, 2);
end;
ShowMessage(R);
end;————————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
————————————————————————————————————
通过Delphi的WideString类型转换,可以巧妙地实现GB2312到Unicode的编码转换(注意代码页和操作系统相关联)。下面是实现中文编码的部分Delphi 5代码:
// 中文格式编码,s为Unicode String
function Encode2(var s:WideString):String;
var i,len:Integer; cur:Integer; t:String;
begin
Result:=‘’;
len:=Length(s);
i:=1; while i<=len do begin cur:=ord(s[i]); //BCD转换 FmtStr(t,‘%4.4X’,[cur]); Result:=Result+t; inc(i);
end;
end;
var i,len:Integer; cur:Integer; t:String;
begin
Result:='';
len:=Length(s);
i:=1;
while i<=len do
begin cur:=ord(s[i]); //BCD转换
FmtStr(t,'%4.4X',[cur]);
Result:=Result+t;
inc(i);
end;
end;
我一直用,不管用吗?????????