首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >[火山移动编程系列笔记][原创]ucs2解码问题方法

[火山移动编程系列笔记][原创]ucs2解码问题方法

作者头像
云未归来
发布2025-07-18 13:54:01
发布2025-07-18 13:54:01
700
举报

注意此函数支持是\u格式如果是%u可以先替换成\u,这个函数可以在usc2中插入不相关的解码字符,比如:你好\u1234不会影响解码,这个就是用寻找字符方法实现的,其实也可以用正则表达式方法搞定,这里足够用了。

方法名 ucs2解码 返回值 文本型

参数名 ucs2 类型 文本型

然后写代码

@   final StringBuffer buffer = new StringBuffer(); 

@         String result="";

@         String charStr="";

@         int findIndex=0;

@         int offsetIndex=0;

@         while(findIndex>-1)

@         {

@          findIndex=@<ucs2>.indexOf("\\u",offsetIndex);

@          if(findIndex>-1)

@          {

@          if(findIndex==offsetIndex)

@          {

@          charStr=@<ucs2>.substring(findIndex+2,findIndex+6);

@                  char letter = (char) Integer.parseInt(charStr, 16); // 16进制parse整形字符串。 

@               result=new Character(letter).toString();

@               offsetIndex=findIndex+6;

@               buffer.append(result);

@          }else

@          {

@          result=@<ucs2>.substring(offsetIndex,findIndex);

@          charStr=@<ucs2>.substring(findIndex+2,findIndex+6);

@          char letter = (char) Integer.parseInt(charStr, 16);

@          result+=new Character(letter).toString();

@          offsetIndex=findIndex+6;

@          buffer.append(result);

@          }

@         

@          }

@         

@         }

@         if(offsetIndex<@<ucs2>.length()-1)

@         {

@          buffer.append(@<ucs2>.substring(offsetIndex));

@         }

@     

@         @<ucs2>=buffer.toString();    

返回(ucs2)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-12-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档