java一个汉字占3个byte吗?

Python020

java一个汉字占3个byte吗?,第1张

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

为什么我们在java里面可以用一个char来表示一个中文呢?

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

在编译时会把utf8的中文字符转换成对应的unicode来进行传输运算。

java字符采用的是统一码(Unicode),它是一种16位编码方案,支持世界不同语言的文本交换,处理,和显示。Unicode占两个字节。另外一种常用编码方案是ASCII,占一个字节。提一下,java中也可以使用ASCII字符。存储不同长度的东西java会用不同的存储长度来提高存储利用率。

字符是指计算机中使用的字母、数字、字和符号,如:1、2、3、A、B、C

字节(Byte)是计算机信息技术用于计量存储容量和传输容量的一种计量单位,1个字节等于8位二进制。

存储字符需要占空间,这个空间的大小就是用字节来描述的。