flsl666 发表于 2019-12-15 18:55:57

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

注意此函数支持是\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)

由于火山IDE代码不能复制粘贴,不是十分方便,凑活着写吧,我真心希望官方编辑的代码能像文本复制粘贴,估计是无望了。
这个代码我实际测试过没有问题,Java实现请参考我的博客https://blog.csdn.net/FL1623863129/article/details/103551582
最后欢迎访问我的博客https://blog.csdn.net/FL1623863129/,博客正在不定时发布火山移动编程的基础知识,方便大家学习和共同进步,衷心祝愿吴涛老总的火山越更新越好用!

创世魂 发表于 2019-12-15 23:51:37

感谢贡献。

不过这个方法无名模块 里面早已经集成,欢迎下载模块参考学习。
页: [1]
查看完整版本: [火山移动编程系列笔记][原创]ucs2解码问题方法