占多少个字节得看你用的是什么编码集,如果是GBK和GB2312的话,确实是两个字节,在Windows平台上会是你预期的两个字节。但是,在Linux平台上,我们不设置编码集的情况下,通常默认为utf8,这种编码规则就不一定是几个字节了,2个3个可能都有的,它是变字节的。
public class StreamTest {
public static void main(String[] args) {
byte[] stringbytes = "中".getBytes();
System.out.println(stringbytes.length);
for (byte b : stringbytes) {
System.out.print(b+" ");
}
}
}
以上代码 我电脑 在utf-8编码下是3个字节。在gbk编码下是2个字节