Java中文字符所占的字节数

Posted 化身孤岛的鱼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中文字符所占的字节数相关的知识,希望对你有一定的参考价值。

        Java语言中,中文字符所占的字节数取决于字符的编码方式,一般情况下,采用ISO8859-1编码方式时,一个中文字符与一个英文字符一样只占1个字节;采用GB2312或GBK编码方式时,一个中文字符占2个字节;而采用UTF-8编码方式时,一个中文字符会占3个字节。我们可以通过String类的getBytes(String charsetName)方法来获取到字符串以指定编码方式编码后所得到的字节数组,然后字节数组的长度就是该字符串在指定编码方式下所占的字节数。

【测试示例】

public class Test {
    public static void main(String []args) throws UnsupportedEncodingException {
        // 运行结果:2
        System.out.println("测试".getBytes("ISO8859-1").length);
        // 运行结果:4
        System.out.println("测试".getBytes("GB2312").length);
        // 运行结果:4
        System.out.println("测试".getBytes("GBK").length);
        // 运行结果:6
        System.out.println("测试".getBytes("UTF-8").length);
        }
}

【注意】String类的不带参数的getBytes()方法会以程序所运行平台的默认编码方式为准来进行转换,在不同平台下就会有不同的结果,因此建议使用指定编码方式的getBytes(String charsetName)方法。

以上是关于Java中文字符所占的字节数的主要内容,如果未能解决你的问题,请参考以下文章

java如何获取字符串的字节数

(java)如何获取字符串的字节数!

指针变量所占的字节数

java中的变量各占得字节数

(java)如何获取字符串的字节数!

每天进步一点点-写完睡觉-周一工作(java基本数据类型所占的字节和IO流读取的字符和字节)