VB中:a:= StrConv(b, vbFromUnicode)
在Delphi中:如何表示?
在Delphi中:如何表示?
解决方案 »
- delphi 在文本文件每行添加字符串??????????????????????(非计算机专业还有这么复杂的文本操作题??)
- Dll如何处理系统消息问题
- 请教:Select问题
- 100分 菜鸟提问:程序打包发布问题(sql server 2000+bde+多层) 使用installshield express
- 如何更有效地从表中求出一个字段的某一个值
- 求救:如何获取网卡的MAC地址?
- sql server 怎么清除已有的事务日志?
- 在form的窗体上可以实现翻页显示吗
- delphi在网页上上传成固定图片代码怎么写
- 请问DELPHI 里面16进制,8进制怎么表示?
- 如何使用TFileStream实现文件的合并与拆分?
- WinSock API 通讯问题?
// eg. 0031003200610062554A94B1658C --> 12ab啊钱斌
// OK! 20030208 QB
function UnicodeToAnsi(sStr:String):String;
var
sStr1: string;
wStr: WideString;
psStr1,psStr: PChar;
iUnicode,i,len: Integer;
begin
sStr1:='';
// 为sStr1申请200字节的空间
for i:=1 to 200 do sStr1:=sStr1+'-';
psStr1:=PChar(sStr1);
len:=Length(sStr);
i:=1;
while i<=len do
begin
// '554a' --> chr(0x55)+chr(0x4a)
psStr:=PChar(sStr)+i-1;
HexToBin(psStr, psStr1, 2);
// chr(0x55)+chr(0x4a) --> 21834
iUnicode:=ord(sStr1[1])*256+ord(sStr1[2]);
// 21834 --> '啊'
wStr:=wStr+WideChar(iUnicode);
i:=i+4;
end;
Result:=String(wStr);
end;// ANSI String --> Unicode string 中文格式编码
// eg. 12ab啊钱斌 --> 0031003200610062554A94B1658C
// OK! 20010710 QB
// function AnsiToUnicode(var s:WideString):String;
function AnsiToUnicode(sStr:String):String;
var
i,len: Integer;
cur: Integer;
t: String;
s: WideString;
begin
// WideString('1啊') --> '1啊'
s:= WideString(sStr);
Result:='';
// Length(WideString('1啊')) = 2 !!!
len:=Length(s);
i:=1;
while i<=len do
begin
// Unicode of '啊' --> 21834
cur:=ord(s[i]);
// 21834 --> '554a'
FmtStr(t,'%4.4X',[cur]); // ???? <-- 钱勤
Result:=Result+t;
inc(i);
end;
end;