1个汉字的字节数真是2吗? 您所在的位置:网站首页 1个汉字等于多少字节数 1个汉字的字节数真是2吗?

1个汉字的字节数真是2吗?

2024-07-15 08:06| 来源: 网络整理| 查看: 265

 

问题缘由是最近做了一个简单的试验,无意间发现并不是这样的。先附上代码,如下:

public class ChineseBytes { public static void main(String[] args) { String str=new String("你好,世界。"); System.out.print("+"); for (int i = 0; i < str.getBytes().length; i++) { System.out.print("-"); } System.out.println("+"); System.out.println("你好,世界。"); } }

结果如下:

+------------------+ 你好,世界。

    仔细一下就不对劲,平时我们都讲一个中文对应2个字节,我无聊数了一下,刚好18个字节,也就是刚好一个中文对应3个字节,难道真的是巧合吗?然后就去查了相关的资料,发现不同的编码方式字节码是不同,由于我的eclipse用的编码方式是UTF-8(因为有段时间打开网上的源码中文注释是乱码的,原是使用GBK的,才改用的UTF-8),刚好是三倍。资料显示,如果是采用GBK的话,会是2个字节,于是我试了一下:

+------------+ 你好,世界。

    结果果然如此。下表总结了不同的编码对应的字节数。

英文字母:

 

GB2312

 

GBK

 

GB18030

 

ISO-8859-1

 

UTF-8

 

UTF-16

 

UTF-16BE

 

UTF-16LE

 

 

中文汉字:

 

GB2312

 

GBK

 

GB18030

 

ISO-8859-1

 

UTF-8

 

UTF-16

 

UTF-16BE

 

UTF-16LE

 

 

我们可以看到,UTF-16不管中文还是英文,都是对应4个字节。英文多数都是对应1个字节,和平常所说的一个英文对应一个字节很符合,除了UTF-8以后的都是1;西欧编码(ISO-8859-1)的中文居然只有1个字节。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有