java一个tab java一个字符占几个字节 |
您所在的位置:网站首页 › 中文符号占几个字符数 › java一个tab java一个字符占几个字节 |
问题: Java中中英文分别占几个字节?如果数据量很大,或者存储空间不足的时候,可能需要考虑字节的占用大小,用于估计使用机器的数量。 方案: 很简单的: 1个字符=2个字节 1个字节=8位 1个英文字符占一个字节,也就是0.5个字符 1个中文字符占2-4个字节,这个需要区分编码情况,具体如下: UTF8编码下: 1个中文字符占3个字节(少数占4个字节) GBK编码下: 1个中文字符占2个字节 UTF16编码下:1个中文字符占2个字节,Unicode扩展区的一些汉字存储需要4个字节
上面其实不好记,最好的方法是放到程序里面去实际运行一下看看。 例子: /** * * 描述:Java字符和字节测试例子 * 类名:BytesDemo.java * @author dutycode * @weibo ideaduty * @email [email protected] * @website http://www.dutycode.com * 2014-11-2 * @version 1.0.1 */ public class BytesDemo { public static void main(String[] args) { String e1 = "english"; String c1 = "中文"; byte[] eb1 = e1.getBytes(); byte[] eb1 = e1.getBytes(); byte[] cb1 = c1.getBytes(); byte[] ebUTF8 = e1.getBytes(Charset.forName("utf8")); byte[] cbUTF8 = c1.getBytes(Charset.forName("utf8")); byte[] ebGbk = e1.getBytes(Charset.forName("gbk")); byte[] cbGbk = c1.getBytes(Charset.forName("gbk")); byte[] cbGbk = c1.getBytes(Charset.forName("gbk")); System.out.println("中文字符,默认(UTF8):" + cb1.length); System.out.println("英文字符,(UTF8):" + ebUTF8.length); System.out.println("中文字符,(UTF8):" + cbUTF8.length); System.out.println("英文字符,(GBK):" + ebGbk.length); System.out.println("中文字符,(GBK):" + cbGbk.length); } }
运行结果:
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |