Java中文字符所占的字节数

简介:

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

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)方法。

最新内容请见作者的GitHub页:http://qaseven.github.io/

相关文章
|
8月前
|
人工智能 Java
Java检查字符串是否包含中文字符
Java检查字符串是否包含中文字符
用Java打印中文字符的GBK,UTF8和UTF16编码
用Java打印中文字符的GBK,UTF8和UTF16编码
504 0
用Java打印中文字符的GBK,UTF8和UTF16编码
使用java代码判断一个字符串里是否包含中文字符
使用java代码判断一个字符串里是否包含中文字符
245 0
Java判断字符是否是中文字符
Java判断字符是否是中文字符 //判断字符是否是中文汉字。 from JDK1.7 public boolean isChinese(char c) { Character.
3994 0
|
Java
java中文所占字节数
java是unicode编码  所以都是2个字节 而操作系统啥的 默认的是GBK  这也是2个字节 网络上用的是UTF-8又叫万国码  这是所有编码集的超集,中文是3个字节 本文出自 “点滴积累” 博客,请务必保留此出处http://tianxingzhe.blog.51cto.com/3390077/1693392
1005 0
|
Java 存储
java中char的字节数
貌似是一个简单的问题(也许也真是简单的),但是却把曾经自认为弄清楚的我搞得莫名其妙。 char在Java中应该是16位即两个字节 byte在Java中应该是8位 char x = '编'; //这样应该占两个字节 但是 String str = "编"; byte[] bytes = str.getBytes(); //此时为什么要占用3个byte呢?(此时系统默认的encod
1481 0