「gbk转字符串java」gbk转汉字

博主:adminadmin 2022-11-27 23:51:06 79

本篇文章给大家谈谈gbk转字符串java,以及gbk转汉字对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java 怎么gbk转码utf-8

方法一:

思路:先转为Unicode,然后转为GBK

String utf8 = new String(t.getBytes( "UTF-8"));  

System.out.println(utf8);  

String unicode = new String(utf8.getBytes(),"UTF-8");   

System.out.println(unicode);  

String gbk = new String(unicode.getBytes("GBK"));  

  

System.out.println(gbk);

方法二:

public static void main(String[] args) {

        String str="字符串编码转换";

        try {

          byte[] temp=str.getBytes("utf-8");//这里写原编码方式

            byte[] newtemp=new String(temp,"utf-8").getBytes("gbk");//这里写转换后的编码方式

            String newStr=new String(newtemp,"gbk");//这里写转换后的编码方式

            System.out.println(newStr);

        } catch (UnsupportedEncodingException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

    }

java编码问题,GBK转化为UTF-8

首先理解java的字符概念

java中字符串是字符的序列,虚拟机内部的字符都是16位的unicode字符,等价于C++中的WCHAR,也是为了实现虚拟机方便

WCHAR叫做宽字符,对应的MuitiChar叫做多字符,这种多字符中字符的位数不唯一

GBK 和 UTF8 是多字符的不同编码形式

s=new String(s.getBytes("gbk"),"utf-8");

的意思是:

byte[] bytes=s.getBytes("gbk");

s=new String(bytes,"utf-8");

第一句是将s对应的gbk编码转出来,形成一个字节流

第二句是将这个字节流按照utf-8编码转为java字符串,因此相当于将gbk编码的字节流当做utf-8来使用,这样在中文中会出现乱码

你的问题是,接口返回的已经是utf-8 所以它必须是byte[] 流,如果是字符串的话就不好办了

汉字GBK十六进制字符串 转汉字 JAVA,该怎么解决

解决思路----------------------

String encoded = "D0A1";

byte a0 = (byte) Integer.parseInt(encoded.substring(0, 2), 16);

byte a1 = (byte) Integer.parseInt(encoded.substring(2), 16);

byte[] gbk = new byte[] {a0, a1};

String chinese = new String(gbk, "GBK");

System.out.println("中文:" + chinese);

关于gbk转字符串java和gbk转汉字的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-27,除非注明,否则均为首码项目网原创文章,转载请注明出处。