java写Demo验证汉字编码不同长度不同,并写出分析
时间: 2024-01-14 12:05:18 浏览: 67
在Java中,一个汉字占用的字节数取决于所使用的字符集编码方式。常用的字符集编码方式有GB2312、GBK、UTF-8等。
下面是一个Java程序演示汉字在不同编码方式下的字节数:
```java
public class ChineseEncodingDemo {
public static void main(String[] args) {
String chinese = "汉字";
System.out.println("字符串\"" + chinese + "\"的长度为" + chinese.length() + "个字符");
System.out.println("在GB2312编码下,\"" + chinese + "\"占用" + chinese.getBytes(Charset.forName("GB2312")).length + "个字节");
System.out.println("在GBK编码下,\"" + chinese + "\"占用" + chinese.getBytes(Charset.forName("GBK")).length + "个字节");
System.out.println("在UTF-8编码下,\"" + chinese + "\"占用" + chinese.getBytes(Charset.forName("UTF-8")).length + "个字节");
}
}
```
输出结果如下:
```
字符串"汉字"的长度为2个字符
在GB2312编码下,"汉字"占用4个字节
在GBK编码下,"汉字"占用4个字节
在UTF-8编码下,"汉字"占用6个字节
```
可以看出,在GB2312和GBK编码方式下,一个汉字占用2个字节;而在UTF-8编码方式下,一个汉字占用3个字节。因此,当使用UTF-8编码方式时,一个汉字的字节数会比在GB2312或GBK编码方式下多1个字节。
需要注意的是,汉字在Java中的长度是以字符为单位计算的,一个汉字算一个字符。而在不同的编码方式下,一个汉字所占用的字节数是不同的,因此在处理字符串时需要根据具体的需求选择合适的编码方式。
阅读全文