`

字符编码(三) 字节序、bit序、 有效位

 
阅读更多

1、字节序: 一个(占多字节的)数据单元的字节顺序。Java中byte没有字节序问题,其他都有字节序问题。不必考虑byte内部bit的细节。bit序:一个字节内,bit的顺序

        大,小:权值大,权值小

        端:开端,左边是开端,左边是低地址,人的思维从左到右,

 

        1) Big-Endian:权值最大(高)的字节(MSB)放在低地址(端)。实例:java,TCP

        2) Little-Endian:权值最小的字节(MSB)放在低地址(端)。实例:win7

 

2、实例:数字0x12 34 56 78在内存中的表示形式为:

        1)大端模式:

        低地址 -----------------> 高地址

        0x12  |  0x34  |  0x56  |  0x78

        2)小端模式:

        低地址 ------------------> 高地址

        0x78  |  0x56  |  0x34  |  0x12

 

3、大端小端没有谁优谁劣,各自优势便是对方劣势:

        小端模式 :强制转换数据不需要调整字节内容,1、2、4字节的存储方式一样。

        大端模式 :符号位的判定固定为第一个字节,容易判断正负。

        

4、bit序:一个字节内,bit的顺序。大都是大端序,左大右小,比如TCP中6bits的标志位:

        URG=2^5=32=0x20 

        ACK=2^4=16=0x10

        PSH=2^3=8=0x08

        RST=2^2=4=0x04

        SYN=2^1=2=0x02

        FIN=2^0=1=0x01

        

5、bit序可以参考下面的,不过不常用

        最低有效位(lsb,least significant bit):

        1), lsb指一个二进制数字中的第0位(即最低位,最低权重位,权值为2^0)

        2), LSB(the Least Significant Byte),多字节序列中具有最大权重的字节。

        

        最高有效位(msb,Most Significant Byte)

        1), lsb的反面。

        2), LSB的反面

分享到:
评论

相关推荐

    字符编码:GBK、GB2312、UTF-8

    是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24为(三个字节)来编码。UTF-8包含全世界所有国家需要用到的字符,是国际编码,通用性强。UTF-8编码的文字可以在各国支持UTF8字符...

    JAVA字符编码问题总结

     上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为ASCII码,一直沿用至今。  ASCII码一共规定了128个字符的编码,比如空格“SPACE”是32(二进制00100000),...

    字符编码学习

    上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为ASCII码,一直沿用至今。 ASCII码一共规定了128个字符的编码,比如空格“SPACE”是32(二进制00100000),大写...

    霍夫曼编码

    当利用哈夫曼编码对一篇英文进行压缩时,e极有可能用一个位(bit)来表示,而z则可能花去25个位(不是26)。用普通的表示方法时,每个英文字母均占用一个字节(byte),即8个位。二者相比,e使用了一般编码的1/8的长度...

    手机短信PDU编码格式及实例说明.pdf

    7-bit编码用于发送普通的ASCII字符,它将一串7-bit的字符(最高位为0)编码成8-bit的数据,每8个字符可“压缩”成7个;8-bit编码通常用于发送数据消息,比如图片和铃声等;而UCS2编码用于发送Unicode字符。在这三种...

    全国计算机应用基础知识:汉字、字符编码.pdf

    全国计算机应⽤基础知识:汉字、字符编码 (1)计算机中的信息单位 计算机中对信息表⽰的单位有位、字、字长及字节等,它们是⽤来表⽰信息量的⼤⼩的基本概念。 位:计算机中数据存储的最⼩单位是⼀个⼆进制位,简称...

    base64编码解码用于pb8pb9pb12.5等

    Base64要求把每三个8Bit的字节转换为四个6Bit的字节(3*8 = 4*6 = 24),然后把6Bit再添两位高位0,组成四个8Bit的字节,也就是说,转换后的字符串理论上将要比原来的长1/3。 关于这个编码的规则: ①把3个字符变成4...

    一个很好的Base64编码解码工具

    Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,Base64要求把每三个8Bit的字节转换为四个6Bit的字节(3*8 = 4*6 = 24),然后把6Bit再添两位高位0,组成四个8Bit的字节,也就是说,转换后的字符串理论...

    Base64 编码 解码器 V1.6

    Base64要求把每三个8Bit的字节转换为四个6Bit的字节(3*8 = 4*6 = 24),然后把6Bit再添两位高位0,组成四个8Bit的字节,也就是说,转换后的字符串理论上将要比原来的长1/3。  这种编码方式主要用在发送电子邮件。...

    Base64编-解码器 1.5

    Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,Base64要求把每三个8Bit的字节转换为四个6Bit的字节(3*8 = 4*6 = 24),然后把6Bit再添两位高位0,组成四个8Bit的字节,也就是说,转换后的字符串理论...

    霍夫曼编码 matlab程序

    当利用哈夫曼编码对一篇英文进行压缩时,e极有可能用一个位(bit)来表示,而z则可能花去25个位(不是26)。用普通的表示方法时,每个英文字母均占用一个字节(byte),即8个位。二者相比,e使用了一般编码的1/8的长度...

    python中字符串的编码与解码详析

    UTF-8:Unicode的压缩版,占1~3个字节,其中中文占三个字节 2.补充:计算机表示的单位: bit: 位,计算机最小的表示单位 bytes:字节,最小的存储单位,1bytes=8bit,1bytes简写成1B 1KB = 1024B 1MB = 1024KB 1GB...

    c#字符串编码问题的处理解决

    上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为ASCII码,一直沿用至今。ASCII码一共规定了128个字符的编码,比如空格“SPACE”是32(二进制00100000),大写的...

    详解Python当中的字符串和编码

    字符编码 我们已经讲过了,字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题。 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特...

    Python3如何解决字符编码问题详解

    编码 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255...Python3字符编码 Pyth

    信息的编码高中信息技术练习题.doc

    [拓展]:存储单位 1Byte=______bit KB、MB、GB、TB(太字节)…… 1KB=___________B 1MB=___________KB 1GB=___________MB 二、英文字符的编码:ASCII(美国国家信息交换标准代码) 1100001(97)表示字符a 1000001...

    基础算法-python字符串加密五种方法

    【基础算法】-python字符串加密五种方法 # 1. url编码 from urllib.parse ...# base64编码是将二进制字节流编码为可打印的64个字符 # 以6位分割 bit位都是0,base64约定以‘=’代替 # z -> b'eg==' import base64

    C语言实现Base64编解码(加密和解密).zip

    Base64要求把每三个8Bit的字节转换为四个6Bit的字节(3 * 8 = 4 * 6 = 24),然后把6Bit再添加两位高位0,组成四个8Bit的字节,也就是说,转换后的字符串理论上将要比原来的长1/3。 本资源使用C语言实现Base64加密...

    不用string.h库函数的,方便易用的字符串处理函数,减少库带来代码量

    //将字符串str转换为32位整型,其正数的最值为0x7FFFFFFF,负数的最小值为0x80000000,考虑数字会溢出的情况 void LettersChange(unsigned char*str, unsigned char font);//大小写字母变成大小写字母 signed int st_...

    Java流总结

    • 读写单位不同:字节流以字节(8bit)为单位,字符流以字符为单位,根据码表映射字符,一次 可能读多个字节。 • 处理对象不同:字节流能处理所有类型的数据(如图片、avi等),而字符流只能处理字符类型 的数据。...

Global site tag (gtag.js) - Google Analytics