- 人气:
- 放大
- 缩小
- 二维码
- 赞赏
delphi Unicode转汉字 ,支持自动过滤非 unicode编码
///
/// // Unicode转汉字 ,支持自动过滤非 unicode编码,即非 unicode编码不转换
/// 只支持 标准的 类型 \u4e00 这种格式的 转换, 以\u 开头的
/// code by 猿哥哥 2015-2-11
///
function UnicodeToChinese(inputstr:string):string;
var
i:Integer;
index:Integer;
temp,top,last:string;
begin
index:=1;
//inputstr := '\'+inputstr;
while index>=0 do
begin
index:= inputstr.IndexOf('\u');
if index<0 then
begin
last:= inputstr;
Result:= Result+ last;
Exit;
end;
top:= Copy(inputstr,1,index); //取出 编码字符前的 非 unic 编码的字符,如数字
temp:= Copy(inputstr,index+1,6);//取出编码,包括 \u ,如\u4e3f
Delete(temp,1,2);
Delete(inputstr,1,index+6);
result:= Result+ top+ WideChar( StrToInt('$'+ temp)) ;
end;
end;
//用法 www.delphitop.com 搜集
procedure TForm1.FormCreate(Sender: TObject);
begin
memo1.text:=UnicodeToChinese('\u4e2d\u56fd\u4eba');
end;