递归火山软件开发平台

标题: [火山移动编程系列笔记][原创]ucs2解码问题方法 [打印本页]

作者: flsl666    时间: 2019-12-15 18:55
标题: [火山移动编程系列笔记][原创]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
感谢贡献。  

不过这个方法  无名模块 里面早已经集成,欢迎下载模块参考学习。




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4