标签:index begin string sStr 汉字 UniCode 格式
Delphi UniCode转汉字(\u 格式)、汉字转UniCode(\u 格式)
1、UniCode转汉字
function UnicodeToChinese(sStr: string): string; var i: Integer; index: Integer; temp, top, last: string; begin index := 1; while index >= 0 do begin index := Pos('\u', sStr) - 1; if index < 0 then //非 unicode编码不转换 ,自动过滤 begin last := sStr; Result := Result + last; Exit; end; top := Copy(sStr, 1, index); // 取出 编码字符前的 非 unic 编码的字符,如数字 temp := Copy(sStr, index + 1, 6); // 取出编码,包括 \u,如\u4e3f Delete(temp, 1, 2); Delete(sStr, 1, index + 6); Result := Result + top + WideChar(StrToInt('$' + temp)); end; end;
2、汉字转UniCode
function ChineseToUniCode(sStr: string): string; //汉字的 UniCode 编码范围是: $4E00..$9FA5 作者:滔Roy var w:Word; hz:WideString; i:Integer; s:string; begin hz:=sStr; for i:=1 to Length(hz) do begin w := Ord(hz[i]); s:=IntToHex(w, 4); Result := Result +'\u'+ LowerCase(s); end; end;
3、示例:
var s,s1,s2 : string; begin s1 := '滔Roy'; s2 := '\u6ed4\u0052\u006f\u0079'; s:=ChineseToUniCode(s1); {汉字到 UniCode 编码} s:=UnicodeToChinese(s2); { UniCode 编码到汉字} end;
创建时间:2021.05.04 更新时间:
标签:index,begin,string,sStr,汉字,UniCode,格式 来源: https://www.cnblogs.com/guorongtao/p/14729102.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。