`

字符编码(三) 字节序、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的反面

分享到:
评论

相关推荐

    用C实现7-bit编码和解码的算法

    4. 处理每个字节:对每个字节进行处理,包括将源字符串的计数值的最低 3 位取出,并将其右边部分与残余数据相加,得到一个目标编码字节。 5. 返回目标串长度:返回目标编码串的长度。 7-bit 解码算法 7-bit 解码...

    判断字符编码格式代码

    根据给定文件的信息,我们可以总结出以下关于“判断字符编码格式代码”的相关知识点: ...通过以上分析,我们不仅了解了字符编码的基本概念及其在C++中的具体实现方式,还学习了如何在实际开发中有效地运用这些知识。

    SMS 消息编码与解码---C语言实现(bit7 bit8 ucs2串口等)

    7-bit编码是一种用于SMS(Short Message Service)的编码方式,它通过将8-bit ASCII字符压缩为7-bit来节省空间,因为SMS标准只允许每个字节传输7位有效数据。以下是一个C语言实现的7-bit编码函数: ```c int ...

    7bit 短信编码浅析

    1. **7-bit编码**:主要用于发送英文字符,它能够将一系列7-bit的ASCII字符(最高位为0)转换为8-bit的数据,从而实现一定程度上的数据压缩。每8个字符可以被压缩成7个字节,因此在7-bit编码方式下,短信的最大字符...

    UTF8,ANSI,UTF7,UNICODE,UTF32等字符集字符串与字节数组互转工具

    UNICODE是早期的宽字符编码,每个字符占用16位(2字节)。UCS-2只支持基本多语言平面(BMP)的字符,而UTF-16是它的扩展,可以表示所有Unicode字符,通过使用代理对来编码超出BMP的字符。 5. UTF32(Unicode ...

    SIM的7BIT解码编码

    在短信通信中,由于每个短信分组只能承载160个7位字符(或者140个8位字节),因此7位编码成为了标准的选择。当发送非ASCII字符,如非英文字符或特殊符号时,会使用更复杂的编码如UCS-2或GSM 7-bit Default Alphabet...

    字符编码笔记:ASCII,Unicode和UTF-8

    ASCII码是上个世纪60年代由美国制定的一套字符编码标准,用于规定英语字符与计算机内部二进制位之间的关系。在计算机内部,信息通常以二进制形式存在,每个二进制位(bit)有两种状态:0和1。八个二进制位组成一个...

    Qt中的字符编码转换:UTF8、Unicode、GBK、ASCII、16进制字符、16进制数值

    在Qt开发中,字符编码转换是一项关键任务,尤其是在处理跨平台和多语言支持时。本文主要探讨了在Qt中如何进行UTF8、Unicode、GBK、ASCII、16进制字符和16进制数值之间的转换。 首先,让我们简单回顾一下各种编码...

    文件字符编码转换

    UTF-8是最通用的字符编码,它以1到4个字节表示一个字符,兼容ASCII编码,因此在互联网上广泛使用。 4. **字符编码转换工具**:如"ultracodingswitch.exe"这样的工具,它们提供用户界面,方便用户选择源文件或文件夹...

    JAVA字符编码问题总结

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

    计算机字符编码.pdf

    1. 存储单位:计算机中的最小存储单位是位(bit),一个字节(byte)由8位组成,是机器语言的基本单位。进一步的,1KB等于1024字节,1MB等于1024KB,1GB等于1024MB。 2. 进制:计算机中常用二进制、八进制、十进制...

    java字符集编码乱码详解

    在运行时,JVM 使用 Unicode 进行字符编码。这意味着如果要从磁盘文件、数据库或网络读取字符数据,需要正确地指定字符集编码。例如,使用 `new String(bytes, "UTF-8")` 来创建字符串对象时,必须确保传入的 `bytes...

    中英文字符编码查询_V1.1

    《中英文字符编码查询_V1.1》是一个实用的工具,主要用于帮助用户理解和查询中英文字符的编码方式。字符编码是计算机科学中的一个重要概念,它关乎到如何在计算机内部存储和处理文字信息。本工具主要关注的是Unicode...

    SmsTest.rar_7bit转ucs2编码_SMS 8bit_ucs2 解码_短信 ucs2_短信中ucs2编码

    总结来说,7bit编码主要用于基础的GSM短信,8bit编码扩展了字符集,而UCS2编码则提供了广泛的语言支持。"SmsTest.rar"这个压缩包中的内容,无论是工具还是代码,都是为了帮助我们理解和处理这些复杂的编码问题,从而...

    PDu中7bit编解码

    在进行7bit编码时,原始的8位字节被拆分成若干个7位的片段,这些片段会被重新组合成新的字节序列,以便于传输或存储。 #### 代码解析 在给定的`smEncode7bit`函数中,我们可以看到一个典型的7bit编码实现过程。该...

    字符编码 ASCII,Unicode和UTF-8 介绍

    UTF-8(8-bit Universal Transformation Format)是一种可变长度的字符编码方式,它是Unicode标准的一种实现。UTF-8编码的最大优点是它向下兼容ASCII编码,即任何ASCII字符在UTF-8编码中的表示都与在ASCII中的相同。...

    尚硅谷_宋红康_计算机字符编码2

    1. **位与字节**:计算机最基本的存储单位是位(bit),每位可以是0或1。8个位组成一个字节(byte),字节是机器语言处理的基本单位。在存储和传输数据时,通常以字节为单位,比如1KB等于1024字节,1MB等于1024KB,...

Global site tag (gtag.js) - Google Analytics