近期用到这个函数,无奈没有找到 delphi 自带的,网上找了下 有类似的,没有现成的,我需要的是 支持 “u4f00 ” 这种格式的,即前面带标准的 “u” 于是改造了一下。
下面是 解码 函数:
方便有需要的人吧,我自己也需要^_^
/// <summary> /// // Unicode转汉字 ,支持自动过滤非 unicode编码,即非 unicode编码不转换 /// 只支持 标准的 类型 u4e00 这种格式的 转换, 以u 开头的 /// code by 猿哥哥 2015-2-11 /// </summary> function TMyEncode.UnicodeToChinese(inputstr:string):string; var i:Integer; index:Integer; temp,top,last:string; begin index:=1; 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;