一直以为大小端针对的bit的顺序,今天才知道:大小端的分度值是 byte,即每一个byte都是按照正常顺序,但是byte组装成一个int 或者是 long等时每个byte的摆放位置不同。测试代码:public class BufferTest { @Test public static ...
分类:
编程语言 时间:
2015-01-18 00:48:49
阅读次数:
368
Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一。使用base64具有以下三个优点,一是信息隐藏加密,避免了明码传输带来的安全性问题,二是把二进制byte流转为可见字符传输,使得很适合在URL中传输,三是避免了在不同平台和不同处理器之间调整大小端和拼接数据的麻烦,具有一定的跨平台和跨编程语言的能力。对于一些不能处理二进制byte流的弱语言或者脚本语言来说,也提供了一个应用窗口。当...
分类:
编程语言 时间:
2015-01-17 18:02:57
阅读次数:
227
转自http://www.cnblogs.com/kungfupanda/archive/2013/04/24/3040785.html不同机器内部对变量的字节存储顺序不同,有的采用大端模式(big-endian),有的采用小端模式(little-endian)。大端模式是指高字节数据存放在低地址处...
分类:
其他好文 时间:
2015-01-10 11:12:40
阅读次数:
127
1. 在读取硬盘数据和媒体数据时,需要根据读取的数据进行大小端序的转换,以正确识别数据。其中一个处理就是首先要判断cpu支持的大小端序情况才能转换....
分类:
编程语言 时间:
2014-12-25 00:18:10
阅读次数:
383
从网上可以查到的大小端的解释,小端是低端数据存放在低端地址,大端是高端数据存在低端地址。大小端真的就这么简单吗,不是这样的。
可以这样理解:
对于小端处理器,如果要寻址一个word型数据,处理器首先由地址总线发出地址,之后对于由32位数据总线(32位处理器)返回的数据,小端处理器认为0-7位数据线是低端数据,而24-31位数据线为高端数据。
相反,对于大端处理器,寻址一个word型数据,处理器对于数据线返回的数据,认为24-31位数据线为低端数据,而0-7位数据线为高端数据。...
分类:
其他好文 时间:
2014-12-21 23:39:24
阅读次数:
266
union 关键字的用法与struct 的用法非常类似。union 维护足够的空间来置放多个数据成员中的“一种”,而不是为每一个数据成员配置空间,在union 中所有的数据成员共用一个空间,同一时间只能储存其中一个数据成员,所有的数据成员具有相同的起始地址。例子如下:union StateMachi...
分类:
其他好文 时间:
2014-12-12 18:28:19
阅读次数:
105
为什么会有字节序问题
1. 内存以8bit为一个地址单位:早期的处理器地址以8bit为一个单位(8位处理器),也就是说一次可以访问8bit的数据,后来出现了16位,32位甚至64位的处理器,但为了兼容最早的8位处理器,因此沿用8bit为一个地址单位。
2. 大于8位的处理器,如32位处理器,虽然每个8bit(一个字节)存储数据的方式是一样的,但是针对整形这样的有多个字节的数据结构的数据,每个字...
分类:
其他好文 时间:
2014-11-26 11:26:43
阅读次数:
173
原文地址:http://www.cnblogs.com/kubixuesheng/p/4116354.html一:大小端的概念Big-Endian和Little-Endian(见计算机存储的大小端模式解析)二:浮点数的机器级表示(见从如何判断浮点数是否等于0说起——浮点数的机器级表示)三:c++的基...
分类:
编程语言 时间:
2014-11-24 13:18:02
阅读次数:
151
定义:大端模式,是指数据的高位,保存在内存的低地址中,(而数据的低位,保存在内存的高地址中);小端模式,是指数据的高位保存在内存的高地址中,(而数据的低位保存在内存的低地址中)。举例:int a = 0x12345678; //a里面存放一个16进制的数,a是int型,并占4个字节,现在假设a的首....
分类:
其他好文 时间:
2014-11-24 08:40:29
阅读次数:
235