java一个汉字占几个字节?

Python013

java一个汉字占几个字节?,第1张

可能是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类型的空间。

再java中,只要用双引号“ ”括起来的都是String,部分汉字还是数字或者字母等。

比如

String a="中文"

String b="abc"

String c="124"

这里的a,b,c是变量,对应的都是字符串

public

String

getChineseCharAll()

{

//

获取第一个汉字的16进制

String

start

=

"4e00"

//

获取最后一个汉字的16进制

String

end

=

"9fa5"

//

将字符串变为十进制整数

int

s

=

Integer.parseInt(start,

16)

int

e

=

Integer.parseInt(end,

16)

//

创建字符串缓冲区,因为单线程,所以用StringBuilder提高效率

StringBuilder

sb

=

new

StringBuilder()

for(int

i

=

s,

count

=

1

i

<=

e

i++,

count++)

{

//

每50个汉字进行换行输出

if(count

%

50

==

0)

{

sb.append((char)

i

+

"\n")

}

else

{

sb.append((char)

i

+

"

")

}

}

return

new

String(sb)

}