随笔 - 1656  文章 - 26 评论 - 6692 trackbacks - 253

提示1: 点击 标题 可进入首页;   提示2: 从搜索引擎中搜索 万一 可迅速找到这里.

随笔分类(1869)

随笔档案(1584)

积分与排名

  • 积分 - 1724455
  • 排名 - 10

最新评论

{感谢 robin(xuebin418@163.com)提供}

//转换
function Str_Gb2UniCode(text: string): String; 
var 
  i,len: Integer;
  cur: Integer;
  t: String;
  ws: WideString;
begin
  Result := '';
  ws := text;
  len := Length(ws);
  i := 1;
  while i <= len do
  begin
    cur := Ord(ws[i]);
    FmtStr(t,'%4.4X',[cur]);
    Result := Result + t;
    Inc(i);
  end;
end;

//恢复
function Unicode_str(text: string):string;
var
  i,len: Integer;
  ws: WideString;
begin
  ws := '';
  i := 1;
  len := Length(text);
  while i < len do
  begin
    ws := ws + Widechar(StrToInt('$' + Copy(text,i,4)));
    i := i+4;
  end;
  Result := ws;
end;

//测试
procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(Str_Gb2UniCode('万一'));  //4E074E00
  ShowMessage(Unicode_str('4E074E00'));  //万一
end;

posted on 2007-12-09 21:46 万一 阅读(1838) 评论(3)  编辑 收藏 网摘 所属分类: 29.常用自定义函数

FeedBack:
#1楼 2008-05-14 10:27 syz2000[未注册用户]
万老师,您好。我想咨询一个问题,我在用delphi 7编写程序,从服务端读取了UTF8中文字符串,但是在客户端显示是乱码。客户端是英文XP(控制面板区域选项Language for non-Unicode programs是English),Language for non-Unicode programs如果是改成Chinese,可以用UTF8Decode显示中文。但是Language for non-Unicode programs选项不能修改,请问如何能显示中文?
  回复  引用    
#2楼 2008-05-14 10:29 syz2000[未注册用户]
客户端英文XP已经安装了中文语言包。
  回复  引用    
#3楼[楼主] 2008-05-14 15:19 万一      
@syz2000:
用 Utf8ToAnsi 函数试试

  回复  引用  查看    



发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 988624




相关文章:

相关链接: