精华内容
下载资源
问答
  • 占2个字节的:0个汉字 占3个字节的:基本等同于GBK,含21000...在查找 UTF-8 编码资料时发现,很多的帖子说的 UTF-8 编码里,一个汉字占用3个字节,有的还做了个证明,大概是这样的,创建一个没有BOM的UTF-8编码的文

    占2个字节的:0个汉字

    占3个字节的:基本等同于GBK,含21000多个汉字

    占4个字节的:中日韩超大字符集里面的汉字,有5万多个

    一个utf8数字占1个字节

    一个utf8英文字母占1个字节

     

    在查找 UTF-8 编码资料时发现,很多的帖子说的 UTF-8 编码里,一个汉字占用3个字节,有的还做了个证明,大概是这样的,创建一个没有BOM的UTF-8编码的文本文件,里面保存了几个汉字,然后查看文件的大小。我觉得这样的证明没有一点说服力,因为 UTF-8 是变长的,1-6个字节,少量的汉字检测是不能说明所有的汉字都是的。

    后来我又查看了字符映射表-汉语,找到了正确的答案,少数是汉字每个占用3个字节,多数占用4个字节。

    占用3个字节的范围

    [text] view plain copy
    1. U+2E80 - U+2EF3 : 0xE2 0xBA 0x80 - 0xE2 0xBB 0xB3      共 115 个  
    2. U+2F00 - U+2FD5 : 0xE2 0xBC 0x80 - 0xE2 0xBF 0x95      共 213 个  
    3. U+3005 - U+3029 : 0xE3 0x80 0x85 - 0xE3 0x80 0xA9      共 36 个  
    4. U+3038 - U+4DB5 : 0xE3 0x80 0xB8 - 0xE4 0xB6 0xB5      共 7549 个  
    5. U+4E00 - U+FA6A : 0xE4 0xB8 0x80 - 0xEF 0xA9 0xAA      共 44138 个  
    6. U+FA70 - U+FAD9 : 0xEF 0xA9 0xB0 - 0xEF 0xAB 0x99      共 105 个  

    合计: 52156 个

    占用4个字节的范围

    [text] view plain copy
    1. U+20000 - U+2FA1D : 0xF0 0xA0 0x80 0x80 - 0xF0 0xAF 0xA8 0x9D      共 64029 个  

    合计: 64029 个

    转自:http://blog.csdn.net/chummyhe89/article/details/7777613

    展开全文
  • 当我上第一节计算机课的时候,我的电脑老师跟我说,一个英文字符是1个字节一个中文是2个字节。这么多年来,我对此一直坚信不移,相信很多人也是这么觉得的,但是,真实情况下是这么一回事么?要了解这个问题,我们...

    当我上第一节计算机课的时候,我的电脑老师跟我说,一个英文字符是1个字节,一个中文是2个字节。这么多年来,我对此一直坚信不移,相信很多人也是这么觉得的,但是,真实情况下是这么一回事么?

    e773d0617b14b67330c2b7f109d88841.png

    要了解这个问题,我们首先得从字节说起,什么是字节呢?要知道,在计算中,底层都是晶体管的开关和关闭状态,我们把一个表示开关状态的称之为位,把八位称之为一个字节,也就是一个字节可以表示(00000000-11111111),也就是0到255。为什么是8位呢?因为字符实际上还不到128个,按道理7位就够了,一个说法是程序员也比较迷信,认为7是个不吉利的数字,另一种说法,8刚好是2^3的方,更容易计算机去理解。

    ASCII(美国信息交换标准代码)是美国人用来对拉丁字符进行的编码。因为计算机是美国人发明的,所以他们也没考虑其他国家可能也要用到计算机。下面是一个ASCII编码的对应表。

    7b344c92ce5ff87e2abc455be9a80ec3.png

    后来随着计算机的发展,一些不是拉丁字母的国家也开始用计算机了,发现一个字节只能表示256个字符,这明显不够,像我们汉字博大精深,常用的都有几千个,于是常见的中文的编码GB2312(国家简体中文字符集)就出现了。GB2312用两个字节来表示一个汉字,例如学习的学,对应的编码就是10010010 0000111。这也就是小时候我们的电脑老师跟我们说的,在计算机中,英文字母占1个字节,汉字占2个字节。

    随着互联网的继续发展,不同的国家,不同的语言都用着不同的编码,每当不同的人进行交流,都要先知道对方用的是什么编码,这往往就造成了沟通的成本,而且经常因为编码错误造成各种乌龙。于是,国际上就定一了一种全新的编码方法,全世界所有的字符、文字都有对应的一个编码,以后,就不需要转化成不同的编码了,这便是Unicode编码。Unicode编码使用4个字节来描述一个字符,每个字节8位,理论上就能表示2^32个不同的字符,全世界的字符都没这么多。

    但随之又引来一个问题,原先一个英文字符需要1个字节,一个中文需要两个字节,现在需要4个字节,相当于存储变大了。这给网络传输、系统存储都带来了一定的成本。这个时候,人们觉得压缩一下,于是提出了UTF8,UTF16这样的表示方法,UTF8我们最经常使用,怎么表示呢?对于一个汉字,例如上述学习的学字在Unicode编码中表示为00000000 00000000 01011011 01100110。很明显,前面字节都是0,非常的浪费,最好是能够把它压缩起来,又能让别人知道它原来对应的就是四个字节,怎么办呢?UTF8就是为了解决这个问题,对于原来是双字符的中文,会变成3个字节,第一个字节以1110开头,后面两个以10开头。剩下的16位分摊到这3个字节当中。图中便是这个学字如何从Unicode编码转成utf8编码。

    ee65b31bcdc58478c1504cd2dc06875c.png

    好了,到这里相信你就已经明白了,一个汉字占多少个字节,是跟汉字的编码有关系,在GB2312或者GBK编码中,大部分汉字为2字节(部分3个),在UTF8编码中,大部分汉字为3字节(部分为4个)。怎么样,学到了么?是不是很有意思?

    展开全文
  • 在查找 UTF-8 编码资料时发现,很多的帖子说的 UTF-8 编码里,一个汉字占用3个字节,有的还做了个证明,大概是这样的,创建一个没有BOM的UTF-8编码的文本文件,里面保存了几个汉字,然后查看文件的大小。我觉得这样...

    在查找 UTF-8 编码资料时发现,很多的帖子说的 UTF-8 编码里,一个汉字占用3个字节,有的还做了个证明,大概是这样的,创建一个没有BOM的UTF-8编码的文本文件,里面保存了几个汉字,然后查看文件的大小。我觉得这样的证明没有一点说服力,因为 UTF-8 是变长的,1-6个字节,少量的汉字检测是不能说明所有的汉字都是的。

    后来我又查看了字符映射表-汉语,找到了正确的答案,少数是汉字每个占用3个字节,多数占用4个字节。

    占用3个字节的范围

    U+2E80 - U+2EF3 : 0xE2 0xBA 0x80 - 0xE2 0xBB 0xB3      共 115 个
    U+2F00 - U+2FD5 : 0xE2 0xBC 0x80 - 0xE2 0xBF 0x95      共 213 个
    U+3005 - U+3029 : 0xE3 0x80 0x85 - 0xE3 0x80 0xA9      共 36 个
    U+3038 - U+4DB5 : 0xE3 0x80 0xB8 - 0xE4 0xB6 0xB5      共 7549 个
    U+4E00 - U+FA6A : 0xE4 0xB8 0x80 - 0xEF 0xA9 0xAA      共 44138 个
    U+FA70 - U+FAD9 : 0xEF 0xA9 0xB0 - 0xEF 0xAB 0x99      共 105 个

    合计: 52156 个

    占用4个字节的范围

    U+20000 - U+2FA1D : 0xF0 0xA0 0x80 0x80 - 0xF0 0xAF 0xA8 0x9D      共 64029 个

    合计: 64029 个


    展开全文
  • 占2个字节的:〇 ...在查找 UTF-8 编码资料时发现,很多的帖子说的 UTF-8 编码里,一个汉字占用3个字节,有的还做了个证明,大概是这样的,创建一个没有BOM的UTF-8编码的文本文件,里面保存了几个汉

    占2个字节的:〇

    占3个字节的:基本等同于GBK,含21000多个汉字

    占4个字节的:中日韩超大字符集里面的汉字,有5万多个

    一个utf8数字占1个字节

    一个utf8英文字母占1个字节



    在查找 UTF-8 编码资料时发现,很多的帖子说的 UTF-8 编码里,一个汉字占用3个字节,有的还做了个证明,大概是这样的,创建一个没有BOM的UTF-8编码的文本文件,里面保存了几个汉字,然后查看文件的大小。我觉得这样的证明没有一点说服力,因为 UTF-8 是变长的,1-6个字节,少量的汉字检测是不能说明所有的汉字都是的。

    后来我又查看了字符映射表-汉语,找到了正确的答案,少数是汉字每个占用3个字节,多数占用4个字节。


    占用3个字节的范围

    U+2E80 - U+2EF3 : 0xE2 0xBA 0x80 - 0xE2 0xBB 0xB3      共 115 个  
    U+2F00 - U+2FD5 : 0xE2 0xBC 0x80 - 0xE2 0xBF 0x95      共 213 个  
    U+3005 - U+3029 : 0xE3 0x80 0x85 - 0xE3 0x80 0xA9      共 36 个  
    U+3038 - U+4DB5 : 0xE3 0x80 0xB8 - 0xE4 0xB6 0xB5      共 7549 个  
    U+4E00 - U+FA6A : 0xE4 0xB8 0x80 - 0xEF 0xA9 0xAA      共 44138 个  
    U+FA70 - U+FAD9 : 0xEF 0xA9 0xB0 - 0xEF 0xAB 0x99      共 105 个

    合计: 52156 个

    占用4个字节的范围

    U+20000 - U+2FA1D : 0xF0 0xA0 0x80 0x80 - 0xF0 0xAF 0xA8 0x9D      共 64029 个

    合计: 64029 个
    展开全文
  • 一个汉字多少字节?

    2018-04-20 22:31:00
    一个汉字多少字节? 原文:一个汉字多少字节? GBK编码,一个汉字占两个字节。 UTF-16编码,通常汉字占两个字节,CJKV扩展B区、扩展C区、扩展D区中的汉字占四个字节(一般字符的Unicode范围是U+...
  • 一个汉字多少字节

    千次阅读 2020-07-01 20:54:04
    一个汉字多少字节 不同编码方式1个英文字母占的字节是不同的: 1,ASCII码:一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。 2,UTF-8编码:一个英文字符等于一个字节,一个中文...
  • UTF8一个汉字=3个字节 1character=3bytes, 1汉字=1character 也就是说一个字段定义成 varchar(200),则它可以存储200个汉字或者200个字母。 2. GBK:1character=2bytes,1汉字=1character 也就是说一个字段...
  • 如果是utf8字符集下,一个中文汉字占3个字节数;如果是gbk字符集下,一个中文汉字占2个字节数。mysql各字符集下汉字和字母占字节数varchar(N), 这里的N是指字符数,并不是字节数.占用的字节数与编码有关在mysql ...
  • 如果是utf8字符集下,一个中文汉字占3个字节数;如果是gbk字符集下,一个中文汉字占2个字节数。(推荐教程:mysql视频教程)mysql各字符集下汉字和字母占字节数varchar(N), 这里的N是指字符数,并不是字节数.占用的...
  • 一个汉字到底是多少个字符 不同的字符所占的字节是不同的。 ASCII码: 一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。 一个二进制数字序列,在计算机中作为一个数字单元,一般为8...
  • utf-8中三: 引用: 英文字母: 字节数 : 1;编码:GB2312 字节数 : 1;编码:GBK 字节数 : 1;编码:GB18030 字节数 : 1;编码:ISO-8859-1 字节数 : 1;编码:UTF-8 字节数 : 4;编码:UTF-16 字节数 : 2;...
  • 1.一个汉字多少长度与编码有关:UTF8一个汉字=3个字节GBK:一个汉字=2个字节2.varchar(n)表示n个字符,无论汉字和英文,Mysql都能存入n个字符,仅是实际字节长度有所区别3.MySQL检查长度,可用...
  • 一个汉字到底占多少字节

    千次阅读 2017-01-14 09:31:18
    GBK编码,一个汉字占两个字节UTF-16编码,通常汉字占两个字节,CJKV扩展B区、扩展C区、扩展D区中的汉字占四个字节(一般字符的Unicode范围是U+0000至U+FFFF,而这些扩展部分的范围大于U+20000,因而要用两个...
  • utf-8一个汉字,3个字节 public static void main(String[] args) { try { String str="我交电话费看到接口过节费苦尽甘来开发接口了感觉风口浪尖赶快来将佳都科技疯狂夺金看附件"; System.out....
  • “1位”表示为1bit“1个字节”表示为1Byte“1个字节”=“8位” 即1Bytes=8bit因此“4个字节”=4*8位=32位此外,字母用用1个字节(即8位)进行表示和存储,而一个汉字则使用两个字节(即16位)进行表示和存储。utf-8...
  • 如果是utf8字符集下,一个中文汉字占3个字节数;如果是gbk字符集下,一个中文汉字占2个字节数。 mysql各字符集下汉字和字母占字节数 varchar(N), 这里的N是指字符数,并不是字节数.占用的字节数与编码有关 在...
  • 如果是utf8字符集下,一个中文汉字占3个字节数;如果是gbk字符集下,一个中文汉字占2个字节数。(推荐教程:mysql视频教程)mysql各字符集下汉字和字母占字节数varchar(N), 这里的N是指字符数,并不是字节数.占用的...
  • 参考地址(有修改):... 命令: select * from v$nls_parameters t where t.PARAMETER='NLS_CHARACTERSET'; ZHS16GBK(GBK 16-bit Simplified Chinese):1个汉字占用2个字节 UTF8...
  • 如果是utf8字符集下,一个中文汉字占3个字节数;如果是gbk字符集下,一个中文汉字占2个字节数。mysql各字符集下汉字和字母占字节数varchar(N), 这里的N是指字符数,并不是字节数.占用的字节数与编码有关在mysql ...
  • 如果是utf8字符集下,一个中文汉字占3个字节数;如果是gbk字符集下,一个中文汉字占2个字节数。mysql各字符集下汉字和字母占字节数varchar(N), 这里的N是指字符数,并不是字节数.占用的字节数与编码有关在mysql ...
  • 在mysql中,一个中文汉字所占的字节数...1. 一个中文汉字占多少字节与编码有关:UTF8一个中文汉字=3个字节GBK:一个中文汉字=2个字节utf-8, 英文字母1字节2.varchar(n)能存储几个汉字?varchar(n)表示n个字符,...

空空如也

空空如也

1 2 3 4 5 ... 15
收藏数 294
精华内容 117
关键字:

utf8一个汉字多少字节