本文整理自网络,侵删。
/// <summary> /// // Unicode转汉字 ,支持自动过滤非 unicode编码,即非 unicode编码不转换 /// 只支持 标准的 类型 \u4e00 这种格式的 转换, 以\u 开头的 /// code by 猿哥哥 2015-2-11 /// </summary>function UnicodeToChinese(inputstr:string):string;vari: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);beginmemo1.text:=UnicodeToChinese('\u4e2d\u56fd\u4eba');end;
相关阅读 >>
Delphi xe string与tstringbuilder的关系
更多相关阅读请进入《Delphi》频道 >>