java GBK中,是如何将两个字节,组装成一个汉字的

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java GBK中,是如何将两个字节,组装成一个汉字的相关的知识,希望对你有一定的参考价值。

例如:byte[] b=new byte[]-42,-48;
String str=new String(b);
System.out.println(str); 打印出来是中,请问,这两个字节是怎么组装成一个字符的。

参考技术A 我来回答一下,可能不是你想要的答案查看JDK API 可知String类的构造函数可知有一个构造函数 public String(byte[] bytes)对它的介绍是通过使用平台的默认字符集解码指定的 byte 数组,构造一个新的 String。新 String 的长度是字符集的函数,因此可能不等于 byte 数组的长度。 当给定 byte 在给定字符集中无效的情况下,此构造方法的行为没有指定。如果需要对解码过程进行更多控制,则应该使用 CharsetDecoder 类。

以上是关于java GBK中,是如何将两个字节,组装成一个汉字的的主要内容,如果未能解决你的问题,请参考以下文章

java中如何计算一个字符串的byte长度(一个汉字多少字符)

getBytes()详解.RP

编码相关

java接入易宝支付时,商品名称为UTF-8编码的中文,如何转换成GBK编码的中文

java中 可以通过new String(text.getBytes("ISO-8859-1"),"GBK")

Java基础知识