精华内容
下载资源
问答
  • 脱离字符集编码 谈这个问题没什么实际意义我不知道你讲的Java 中汉字几个字节具体是什么意思Java 中 Character 采用的是 utf-16 编码,那么就是两个字节(0----65535),所以,字符类型只能表示部分汉字而已,因为...

    脱离字符集编码 谈这个问题没什么实际意义

    我不知道你讲的Java 中汉字是几个字节具体是什么意思

    Java 中 Character 采用的是 utf-16 编码,那么就是两个字节(0----65535),所以,字符类型只能表示一部分汉字而已,因为,二个字节最多只可以表示 65536 种可能。

    讨论汉字占用几个字节,要建立在字符集与其对应的编码格式上。

    gb2312(字符集/编码方式) 中,汉字占二个字节。

    而在 Unicode 字符集中,出现了不同的编码方式(不再同 ASCII gbk 那种一一对应字符集的实现),UTF-8 utf-16 utf-32 都是 Unicode 字符集具体编码实现方式。在 utf-8 中,汉字可能占用 3 或者 4 个字节。在 utf-16 中,汉字可能占用 2 或者 4 个字节。在 utf -32 中,汉字占用 4 个字节。

    简单理解,字符集定义好接口,编码方式即具体接口实现。到 Unicode 之后,出现了一对多的接口实现方式。

    Redis 具体不太清楚。

    关于字符集与编码知识,推荐看 @笨笨阿林 专栏。

    展开全文
  • 一个汉字占几个字节

    2020-12-07 20:02:57
    今天在做bios setup界面选项添加的工作,由于...UTF-8编码:一个英文字符占1个字节一个汉字占3个字节(扩展B区以后的汉字占四个字节)。 Unicode编码:一个英文字符占2个字节一个汉字占2个字节。 GB2312中文编.

    今天在做bios setup界面选项添加的工作,由于其中有汉字显示部分,故特地查找资料简单了解了这一块的内容。

    一个汉字占用几个字节?我们第一反应可能是2个。其实并非如此,对于不同的编码方式,汉字的占用字节数是不一样的。

     

    以下例举常用编码方式所占字节数:

    ASCII码:一个英文字符占1个字节,一个汉字占2个字节。

    UTF-8编码:一个英文字符占1个字节,一个汉字占3个字节(扩展B区以后的汉字占四个字节)。

    Unicode编码:一个英文字符占2个字节,一个汉字占2个字节。

    GB2312中文编码:一个汉字占2个字节。

    GBK编码:一个汉字占2个字节。

     

    说到字符所占字节,那就顺便提一下宽窄字符,因为宽窄字符是与一个字符所占的字节数大小来区分的。如果一个字符只占1个字节,那么它就是窄字符;一个宽字符通常占2个字节。

    展开全文
  • 一个汉字占几个字节是不是不太好记呢,编码不一样则占字节位就不一样。下面用一段简短的代码了解一下一个汉字占几个字节。示例String s = "情系IT";try {byte[] bytes1 = s.getBytes("gbk");for (byte b : bytes1) {...

    一个汉字占几个字节是不是不太好记呢,编码不一样则占字节位就不一样。下面用一段简短的代码了解一下一个汉字占几个字节。

    示例

    String s = "情系IT";

    try {

    byte[] bytes1 = s.getBytes("gbk");

    for (byte b : bytes1) {

    System.out.print(Integer.toHexString(b & 0xff)+" ");

    }

    System.out.println();

    byte[] bytes2 = s.getBytes("utf-8");

    for (byte b : bytes2) {

    System.out.print(Integer.toHexString(b & 0xff)+" ");

    }

    } catch (UnsupportedEncodingException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }

    下面是运行结果:

    68ca9030ed91ae72d0390782dc9680f4.png

    解析

    Integer.toHexString(int a),这个是java API提供的一个方法,目的是返回整数参数的字符串表示形式,作为16位中的无符号整数。

    为什么要用b & 0xff ?

    Integer.toHexString(int a),需要的是一个int类型的参数。

    0xff代表的就是16进制的11111111。

    我们知道byte是1个字节,int是4个字节,也就是要将8位转换为32位。如果无符号位的话,我们直接补0即可。因此&0xff就是为了保证符号位。

    举个例子:-127转为二进制为11111111,取反求补则为10000001,转十六进制则为81,继续转成十进制,看成无符号数就会发现变成了129。

    总结

    根据结果我们可看出,

    字符串是utf-8编码,一个汉字三个字节,一个字母一个字节。

    字符串是gbk编码时,一个汉字两个字节,一个字母一个字节。

    如果想看其他编码下的情况,可复制上面的代码,将字符串进行其他编码查看即可。

    注意:如果字符串不进行编码,则默认为项目的编码。

    如果文章对您有帮助,请记得点赞关注哟~

    欢迎大家关注我的公众号:情系IT,每日推送技术文章供大家学习参考。

    展开全文
  • 推荐:《PHP教程》php 字节 和字符php在UTF-8编码下,一个汉字占3个字节,gbk编码下只占2个字节。zìfú(字符)字符是可使用多种不同字符方案或代码页来表示的抽象实体。例如,Unicode UTF-16...

    f4935b7fff7cd42e4520441c30a2b9a1.png

    字符的简介:

    在js中,中文占两个字符,英文占一个字符;

    在php中,不同编码下不相同,在GBK/GB2312编码下一个中文占2个字符,UTF-8/unicode编码下一个中文占3个字符;

    推荐:《PHP教程》

    php 字节 和字符

    php在UTF-8编码下,一个汉字占3个字节,gbk编码下只占2个字节。

    zìfú(字符)

    字符是可使用多种不同字符方案或代码页来表示的抽象实体。例如,Unicode UTF-16 编码将字符表示为 16 位整数序列,而 Unicode UTF-8 编码则将相同的字符表示为 8 位字节序列。公共语言运行库使用 Unicode UTF-16(Unicode 转换格式,16 位编码形式)表示字符。

    针对公共语言运行库的应用程序使用编码将字符表式形式从本机字符方案映射至其他方案。应用程序使用解码将字符从非本机方案映射至本机方案。

    zìjié(字节)

    字节(Byte):字节是通过网络传输信息(或在硬盘或内存中存储信息)的单位。

    一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间.

    符号:英文标点占一个字节,中文标点占两个字节.

    一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,如一个ASCII码就是一个字节,此类单位的换算为:

    理解编码的关键,是要把字符的概念和字节的概念理解准确。这两个概念容易混淆,我们在此做一下区分:

    概念描述 举例

    字符 人们使用的记号,抽象意义上的一个符号。 '1', '中', 'a', '$', '¥', ……

    字节 计算机中存储数据的单元,一个8位的二进制数,是一个很具体的存储空间。 0x01, 0x45, 0xFA, ……

    ANSI

    字符串 在内存中,如果“字符”是以 ANSI 编码形式存在的,一个字符可能使用一个字节或多个字节来表示,那么我们称这种字符串为 ANSI 字符串或者多字节字符串。 "中文123"

    (占7字节)

    UNICODE

    字符串 在内存中,如果“字符”是以在 UNICODE 中的序号存在的,那么我们称这种字符串为 UNICODE 字符串或者宽字节字符串。 L"中文123"

    (占10字节)

    由于不同 ANSI 编码所规定的标准是不相同的,因此,对于一个给定的多字节字符串,我们必须知道它采用的是哪一种编码规则,才能够知道它包含了哪些“字符”。而对于 UNICODE 字符串来说,不管在什么环境下,它所代表的“字符”内容总是不变的.

    展开全文
  • 一个汉字占几个字节是不是不太好记呢,编码不一样则占字节位就不一样。下面用一段简短的代码了解一下一个汉字占几个字节。示例 String s = "情系IT"; try { byte[] bytes1 = s.getBytes("gbk"); for (byte b : ...
  • 一个汉字占几个字节是不是不太好记呢,编码不一样则占字节位就不一样。下面用一段简短的代码了解一下一个汉字占几个字节。示例String s = "情系IT";try {byte[] bytes1 = s.getBytes("gbk");for (byte b : bytes1) {...
  • 一个汉字占几个字节是不是不太好记呢,编码不一样则占字节位就不一样。下面用一段简短的代码了解一下一个汉字占几个字节。示例 String s = "情系IT"; try { byte[] bytes1 = s.getBytes("gbk"); for (byte b : ...
  • 在mysql中,如果是latin1字符集下,一个中文汉字占2个字节数;如果是utf8字符集下,一个中文汉字占3个字节数;如果是gbk字符集下,一个中文汉字占2个字节数。mysql各字符集下汉字和字母占字节数varchar(N), 这里的N...
  • utf-8 中的一个汉字占几个字节

    千次阅读 2018-12-05 14:32:04
    utf-8 中的一个汉字占几个字节 占 2 个字节的:〇 占 3 个字节的:基本等同于 GBK,含 21000 多个汉字 占 4 个字节的:中日韩超大字符集里面的汉字,有 5 万多个 1 个 utf8 数字占 1 个字节 1 个 utf8 英文字母占 1 ...
  • mysql一个汉字占几个字节

    千次阅读 2017-09-11 11:00:20
    varchar(N), 这里的N是指字符数,并不是字节数.占用的字节数与编码有关 utf-8, 一个汉字3字节 英文字母1字节
  • 一个汉字占几个字节的问题

    千次阅读 2014-08-20 09:45:10
    一个汉字占几个字节的问题 大家都说一个汉字占两个字节(byte) 但是为什么运行程序会得到如下结果 String name="宋"; int a=name.getBytes("gb2312").length; System.out.println(a);//a=2 a=name.getBytes(...
  • mysql和oracle的一个汉字占几个字节

    千次阅读 2017-09-20 09:19:51
    Oracle和MySQL中一个中文汉字占几个字节
  • ***和数据库的编码有关系*** 1、数据库编码查询sql: 1)、SELECT value$ FROM sys.props$ WHERE name = 'NLS_... ZHS16GBK:一个汉字占用2个字节 AL32UTF8:一个汉字占用3个字节 2)、select userenv...
  • 个字节8位,英文字母占1个字节,GB2312中一个汉字占2个字节,Unicode 全世界所有得字符,文字所对应得编码,Unicode中4个字节表示1个字符(字符:像一个英文字母,一个汉字,一个&符号,均称为一个字符)。...
  • 总结:这和编码有关,UTF8一个汉字占3个字节,GBK一个汉字占2个字节。 当我上第一节计算机课的时候,我的电脑老师跟我说,一个英文字符是1个字节,一个中文是2个字节。这么多年来,我对此一直坚信不移,相信很多人也...
  • 一个汉字占几个字节是不是不太好记呢,编码不一样则占字节位就不一样。下面用一段简短的代码了解一下一个汉字占几个字节。 示例 String s = "情系IT"; try { byte[] bytes1 = s.getBytes("gbk"); for (byte b : ...
  • 以前一直使用oracle11g,一个汉字占3个字节,所以在操作mysql时也一直这样分配长度。今天测试了下发现不对了 可以看到第一个的长度确实是15,但是第二个为什么是5?在网上找到资料:char_length计算的是字符长度,而...
  • 2、Python中汉字在gbk编码下示例:UTF-8是Unicode的一种实现方式,也就是它的字节结构有特殊要求,所以我们说一个汉字的范围是0X4E00到0x9FA5,是指unicode值,至于放在utf-8的编码里去就是由三个字节来组织,...
  • 汉字占几个字节

    2021-04-29 16:23:20
    一个汉字占个字节 那么汉字用十六进制输出和用二进制输出有什么区别? 就是01和十六进制数的区别
  • 而基本上所有中文的Unicode编码在19968到40869之间——既Unicode至少包含了20902个汉字,所以一个char类型可以存储一个汉字。基本类型 :简称四类八种,声明变量的同一时候分配了空间。举比例如以下:Int a =1;一、....
  • 一个汉字在数据库占几个字节

    千次阅读 2018-12-05 09:48:53
    UTF-8字符集,一个汉字占个字节,gbk字符集,一个汉字占个字节,比如varchar(10)类型的字段,UTF-8的汉字,只能存3个,gbk字符集的汉字却能存5个。 所以在程序中根据表字段varchar的大小,保存或更...
  • UTF-8中文一个汉字占几个字节

    千次阅读 2019-10-12 11:28:05
    英文字母和中文汉字在不同字符集编码下的字节数 英文字母: 字节数 : 1;编码:GB2312 字节数 : 1;编码:GBK 字节数 : 1;编码:GB18030 字节数 : 1;编码:ISO-8859-1 字节数 : 1;编码:UTF-8 字节数 : 4;编码...
  • Oracle中一个汉字占几个字节

    千次阅读 2019-08-16 16:55:08
    Oracle中一个汉字占几个字节? 某天,在向一个字段类型为CHAR(6)的表中插入数据’大沽口’时报错,提示’too large for column(actual: 9 ,maximum: 6)’。 我这眉头一皱,发现了事情没有这么简单。怎么办?百度!...
  • UTF-8字符集一个汉字占几个字节

    千次阅读 2014-04-11 21:53:41
    一次在定义中文字符串的数组时,按着以往的认知:一个汉字占个字节,存4个汉字,共占用8+1个’\0’的位置,总共9个字节,结构最后赋值时,确发现数组后连的数据不对了,经查实才发现是数组越界,上网查资料后才...
  • 6、一个字符为什么个字节 7、深入分析 Java 中的中文编码问题(转载) Java 中需要编码的场景 Java 中如何编解码 Java Web 涉及到的编码 常见问题分析 编码方案 1、先说重点: 不同的编码格式字节...
  • 一个汉字在数据库中占几个字节

    千次阅读 2020-04-18 10:19:58
    UTF-8字符集,一个汉字占个字节,gbk字符集,一个汉字占个字节,比如varchar(10)类型的字段,UTF-8的汉字,只能存3个,gbk字符集的汉字却能存5个。所以在程序中根据表字段varchar的大小,保存或更新时...
  • java一个汉字占几个字节问题

    千次阅读 2017-08-18 09:22:40
    测试代码 String a = "名"; System.out.println("UTF-8编码长度:"+a.getBytes("UTF-8").length); System.out.println("GBK编码长度:"+a.getBytes("GBK").length); System.out.println("GB2312

空空如也

空空如也

1 2 3 4 5 ... 19
收藏数 380
精华内容 152
关键字:

一个汉字占几个字节