java语言中,中文字符所占的字节数取决于字符的编码方式,一般情况下,采用iso8859-1编码方式时,一个中文字符与一个英文字符一样只占1个字节;采用gb2312或gbk编码方式时,一个中文字符占2个字节;而采用utf-8编码方式时,一个中文字符会占3个字节。我们可以通过string类的getbytes(string charsetname)方法来获取到字符串以指定编码方式编码后所得到的字节数组,然后字节数组的长度就是该字符串在指定编码方式下所占的字节数。下面为一个测试示例:
注意:string类的不带参数的getbytes()方法会以程序所运行平台的默认编码方式为准来进行转换,在不同平台下就会有不同的结果,因此建议使用指定编码方式的getbytes(string charsetname)方法。