以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位二进制。
存储字符需要占空间,这个空间的大小就是用字节来描述的。