gb与unicode编码的转换

原创 2005年03月02日 16:09:00

import org.apache.log4j.Logger;

public class ConvertCoding {
    static Logger log = Logger.getLogger(ConvertCoding.class);
    public static String gb2unicode(final String gbkstr)
    {
        try {
             String tmp;
             StringBuffer sb = new StringBuffer(500);
             char c;
             int i, j;
             sb.setLength(0);
             for(i = 0;i<gbkstr.length();i++){
                c = gbkstr.charAt(i);
                if (c > 255) {
                    j = (c >>> 8);
                    tmp = Integer.toHexString(j);
                    if (tmp.length() == 1) sb.append("0");
                    sb.append(tmp);
                    j = (c & 0xFF);
                    tmp = Integer.toHexString(j);
                    if (tmp.length() == 1) sb.append("0");
                     sb.append(tmp);
                }else{
                    sb.append("00"+Integer.toHexString(c));
                 }
             }
              return new String(sb).toUpperCase();
        } catch (Exception e) {
            e.printStackTrace();
            return "";
        }
    }
    public static String unicode2gb( final String dataStr)
    {
        try{
         int totalnum = dataStr.length();
        if(totalnum%4!=0)
        {
           throw new Exception("非符合条件的unicode码!");
        }
        StringBuffer buffer = new StringBuffer();
        String charStr = "";
        char letter = ' ';
        for(int i=0 ;i<totalnum;i=i+4){
            charStr = dataStr.substring(i,i+4);
            letter = (char) Integer.parseInt(charStr,16);
            buffer.append(new Character(letter).toString());
        }
            return buffer.toString();
        }catch(Exception e){
            e.printStackTrace();
            return "";
        }
    }
        public static void main(String[] args) {
        }
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

&#x是什么编码以及转换方法(GB2312 UNICODE)

常在一些网站源码中看到&#x开头的内容,这是转化成unicode编码后的汉字,我找到了一种将这种编码转换成汉字的方法,记录在这里以便有人使用。将下面的代码复制出来保存成html格式,使用浏览器打开就可...

vc中GB2312,BIG5,Unicode编码转换

本文主要讨论的是VC编译环境下,实现字符串和文件编码方式转换的实现,linux下请使用Strconv. 一、文件编码格式转换 //GB2312 编码文件转换成 Unicode:        ...

VBS和ASP中的各种编码转换GB2312、UTF-8、Unicode、URL解码、二进制、十进制代码、十六进制

'UTF转GB---将UTF8编码文字转换为GB编码文字 function UTF2GB(UTFStr) for Dig=1 to len(UTFStr) '如果UTF8编码文字以%开头...
  • wqsys
  • wqsys
  • 2012-07-21 10:11
  • 2665

GB2312转换为Unicode编码表

备用:相关搜索算法请参考另一篇文章:http://blog.csdn.net/annkie/article/details/7026075 #ifndef GB2312TOUNICODE_TABLE...
  • annkie
  • annkie
  • 2011-11-29 17:00
  • 54846

Android的字符编码转换问题,Unicode,GB2312,UTF8等

/* jernymy 2011-12-01 * Android word encoder process, need libicuuc.so Api * just a example **/ /...

C++转换unicode utf-8 gb2312编码

windows开发环境下用VC++6.0 对unicode 、utf-8、 gb2312 三种编码格式之间的转换方法: #include #include #include using nam...

字符编码知识:Unicode、UTF-8、ASCII、GB2312等编码之间是如何转换的

(摘自http://jmhmlu.blog.163.com/blog/static/161612298201132433112685/) 字符编码是计算机技术的基石,想要熟练使用计算机,就必须懂...

字符编码知识:Unicode、UTF-8、ASCII、GB2312等编码之间是如何转换的?

字符编码知识:Unicode、UTF-8、ASCII、GB2312等编码之间是如何转换的?     字符编码是计算机技术的基石,想要熟练使用计算机,就必须懂得字符编码的知识。不注意的人可能对...

字符编码知识:Unicode、UTF-8、ASCII、GB2312等编码之间是如何转换的?[转]

转自:  http://apps.hi.baidu.com/share/detail/17798660 字符编码是计算机技术的基石,想要熟练使用计算机,就必须懂得字符编码的知识。不注意的人可能...

字符编码知识:Unicode、UTF-8、ASCII、GB2312等编码之间是如何转换的?

字符编码知识:Unicode、UTF-8、ASCII、GB2312等编码之间是如何转换的?     字符编码是计算机技术的基石,想要熟练使用计算机,就必须懂得字符编码的知识。不注意的人可能对这个...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)