操作系统中的大头小头字节序
网络字节序与主机字节序
不同的CPU有不同的字节序类型 这些字节序是指整数在内存中保存的顺序 这个叫做主机序
最常见的有两种
1. Little endian(小头):将低序字节存储在起始地址
2. Big endian(大头):将高序字节存储在起始地址
内存地址: (起始地址)低位 ------> 高位
二进制编码: 0x高位|低位
FE FF : 大头,最直观
FF FE:小头,需要颠倒
LE little-endian
最符合人的思维的字节序
地址低位存储值的低位
地址高位存储值的高位
怎么讲是最符合人的思维的字节序,是因为从人的第一观感来说
低位值小,就应该放在内存地址小的地方,也即内存地址低位
反之,高位值就应该放在内存地址大的地方,也即内存地址高位
BE big-endian
最直观的字节序
地址低位存储值的高位
地址高位存储值的低位
为什么说直观,不要考虑对应关系
只需要把内存地址从左到右按照由低到高的顺序写出
把值按照通常的高位到低位的顺序写出
两者对照,一个字节一个字节的填充进去
例子:在内存中双字0x01020304(DWORD)的存储方式
内存地址
4000 4001 4002 4003
LE 04 03 02 01
BE 01 02 03 04
例子:如果我们将0x1234abcd写入到以0x0000开始的内存中,则结果为
big-endian little-endian
0x0000 0x12 0xcd
0x0001 0x23 0xab
0x0002 0xab 0x34
0x0003 0xcd 0x12
实验:
用sublime显示汉字 “严”在ANSI
,Unicode
,Unicode big endian
和UTF-8
编码方式下对应的机器码。
ANSI:
文件的编码显示 D1 CF, 这正是“严”的 GB2312 编码,这也暗示 GB2312 是采用大头方式存储的
Unicode: 编码是四个字节 FF FE 25 4E
,其中FF FE
表明是小头方式存储,真正的编码是4E25
。
Unicode big endian: 编码是四个字节 FEFF 4E 25, 其中FEFF表示大头方式存储,因此与直观感受一样(即:编码顺序和存储顺序相同),真正的编码即为4E25
UTF-8: 编码是六个字节EF BB BF E4 B8 A5
,前三个字节EF BB BF
表示这是UTF-8编码,后三个E4B8A5
就是严
的具体编码,它的存储顺序与编码顺序是一致的。
例如:chen25陈 的UTF-8编码为
同样以EF BB BF开头
资料:
https://blog.csdn.net/sunstars2009918/article/details/7274519
http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html
操作系统中的大头小头字节序相关推荐
- 网络字节顺序 大头小头问题
网络字节顺序,老是记不住,网上搜了点资料,记录在此... 不同的CPU有不同的字节序类型 这些字节序是指整数在内存中保存的顺序 这个叫做主机序 最常见的有两种: 1. Little endian:将 ...
- 字节序、大端字节序(Big Endian)、小端字节序(Little Endian)总结
什么是字节序? 字节序,简单来说,指的是 超过一个字节的数据类型在内存中存储的顺序 有几种字节序? 大端字节序(Big Endian) 高位字节数据存放在内存低地址处,低位字节数据存放在内存高地址处. ...
- 小端字节序与大端字节序
端模式分为:小端字节序和大端字节序,也就是字节在内存中的顺序. 小端字节序:低字节存于内存低地址:高字节存于内存高地址.如一个long型数据0x12345678 0x0029f458 0x78 0x0 ...
- java 大端字节序_理解字节序 大端字节序和小端字节序
以下内容参考了 http://www.ruanyifeng.com/blog/2016/11/byte-order.html https://blog.csdn.net/yishengzhiai005 ...
- 【转】理解字节序 大端字节序和小端字节序
转自:https://www.cnblogs.com/gremount/p/8830707.html 以下内容参考了 http://www.ruanyifeng.com/blog/2016/11/by ...
- 小端字节序和大端字节序
端模式分为:小端字节序和大端字节序,也就是字节在内存中的顺序. 需要注意的是,对于数据来说,高字节是指最高位字节,即左边第一位! 小端字节序:低字节存于内存低地址:高字节存于内存高地址.如一个long ...
- 大端字节序小端字节序(网络字节序主机字节序)
大端字节序:整数的高位字节存储在内存的低地址处,低字节存储在内存的高地址处. 小端字节序:整数的高位字节存储在内存的高地址处,低字节存储在内存的低地址处. 一般pc大多采用小端字节序,也称为主机字节序 ...
- 【原创】大端和小端字节序的细节
这已经是一个被说得很烂的一个话题了,今天我想在这一篇文章补充一些细节上的东西,供备忘! 在看这篇文章之前,请先仔细看下链接这篇博文,关于字节序说得很详细!http://blog.chinaunix.n ...
- 【计算机基础】 --- LSB、MSB与大/小端字节序
1.LSB与MSB的概念 LSB:least significant bit 表示二进制数据的最低位 MSB : most significant bit 表示二进制数据的最高位 wiki对LSB和M ...
最新文章
- 『转载』Debussy快速上手(Verdi相似)
- Selenium 下拉框处理
- 2019年计算机视觉将继续承担哪些作用?
- [Oracle PL/SQL]当数据表设计成具有父ID的时候,当需要选择所有与父ID同根生的所有节点的时候,使用的SQL语句...
- 严重性代码说明项目文件行 禁止显示状态错误 C4996 fopen('fscanf'、strcmp):This function or variable may be unsafe. 最全解决办法
- Sql Server2008——远程过程调用失败
- Oracle优化 -- 关于Database Buffer Cache相关参数DB_CACHE_SIZE的优化设置
- 计算机考试的基础知识高考,计算机考试基础知识试题..doc
- 基于zeromq的高性能分布式RPC框架Zerorpc 性能测试
- 避免使用GroupByKey
- 思杰 Citrix xen server 6.2 企业级布署(一)
- xlua build时 报错处理
- eclipse 输入提示插件_【STM32】搭建基于Eclipse平台的STM32调试环境
- SAP UI5 初学 ( 一 )、简介
- 小米手机不断自己重启问题解决
- 抖音作品别人保存不了,这个方法可快速将抖音短视频下载到本地
- 第4章 手机平板要兼顾,探究碎片
- 关于音响系统参数测试的主要参数之一: THD+N(总谐波失真加噪声)
- 全国计算机等级考试一级大纲,全国计算机等级考试大纲(一级WIN)
- Spark Streaming的容错和数据无丢失机制(WAL机制)
热门文章
- 【Node 连载 5/9】如何用 Node 建设企业级应用网关
- 苹果手机(iPhone)连接Exchange Online邮件
- golang 初始化并赋值_golang 结构体初始化时赋值格式介绍
- 计算机应用能力达中级及以上水平,中级职称填报说明及准备材料
- ecu根据什么信号对点火提前角_【判断题】ECU根据(氧传感器)信号对点火提前角实行反馈。...
- java中英文汉语混合排序_Android实现列表数据按名称排序、中英文混合排序
- Windows中的Hook机制
- 神墓部分楼盘价格已比周边低出近千元
- linux进程的内存空间,Linux进程内存统计
- Surging 分布式微服务框架使用入门