ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Delphi UniCode转汉字(\u 格式)、汉字转UniCode(\u 格式)

2021-05-04 11:36:16  阅读:199  来源: 互联网

标签: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. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有