java一个汉字占几个字节?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java一个汉字占几个字节?相关的知识,希望对你有一定的参考价值。

可能是2个、3个、4个字节。不同的编码格式占字节数是不同的,UTF-8编码下一个中文所占字节也是不确定的。

1 java中,只要是字符,不管是数字还是英文还是汉字,都占两个字节,都是一个char。

char c1 = '中'; char c2 = 'A'; char c3 = '1';

确切说,Unicode编码是指一类编码的统称,而非某个具体编码。
utf-8跟unicode是不一样的。

2 以utf8为例,utf8是一个变长编码标准,可以以1~4个字节表示一个字符,而中文占3个字节,ascII字符占1个字节。

3  因为java是以unicode作为编码方式的。unicode是一个定长的编码标准,每个字符都是2个字节,也就是1个char类型的空间。

参考技术A 在java中占两个字节,用char类型表示,因为是unicode编码,
ps
utf-8
的汉字占3个字节
gbk
是两个

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一个汉字占几个字节?的主要内容,如果未能解决你的问题,请参考以下文章

java字节流对汉字输出为乱码的问题

一个汉字到底占几个字节

Java 中,数字,汉字,英文字母,...占多少字节

Java一个汉字占几个字节(详解与原理)(转载)

一个汉字占用2个字节,用UTF-8编码方式存储10个汉字,请问一共占用多少个字节

c# 处理某些占4个字节的汉字问题