1.概念: 1)小端:操作数的存放方式是高地址存放高字节。 0x1234,存放地址为0x2000 内存地址 存放内容 0x2000 0x34 0x2001 0x12 2)大端:操作数的存放方式是高地址存放低字节。 0x1234,存放地址为0x2000 内存地址 存放内容...
分类:
其他好文 时间:
2015-03-12 11:04:07
阅读次数:
123
原出处:http://blog.csdn.net/yingfox/article/details/1831848一、基本概念位的概念:在计算机中,一个0或1称为一位(bit)。字节:连续的八位称为一个字节(Byte),字节是计算机中可单独处理的最小单位。即以字节为基本单位来解释信息,规定1个字节是8...
分类:
其他好文 时间:
2015-01-16 10:00:26
阅读次数:
181
htons和htonl函数具体应用htons和htonl函数,是用来将主机字节顺序转换为网络字节顺序在进行网络抓包时,抓到的包的数据是网络字节顺序,在进行编程时,要进行主机字节顺序和网络字节顺序间的转换。例如:(对一软件进行抓包时,写的一段小程序)ipp2p: if(get_u16(payload,...
分类:
其他好文 时间:
2015-01-09 12:04:12
阅读次数:
147
常用的字符串输出函数常用的字符串格式化函数去除空格和字符串填补函数字符串大小写的转换和HTML标签相关的字符串格式化其他字符串格式化函数字符串比较函数按字节顺序进行字符串比较按自然排序进行字符串比较一、常用的字符串输出函数echo( ) -- 输出字符串print( ) -- 输出一个字符串die(...
分类:
Web程序 时间:
2014-12-03 22:45:33
阅读次数:
715
Endian.BIG_ENDIAN和Endian.LITTLE_ENDIAN在ByteArray和Socket中,能看到一个属性endain.endian : String更改或读取数据的字节顺序;Endian.BIG_ENDIAN 或 Endian.LITTLE_ENDIAN。 谈到字节序的问题,...
分类:
Web程序 时间:
2014-11-27 14:26:44
阅读次数:
157
通常的技巧是使用一个指针: int x = 1; if(*(char *)&x == 1) printf("little-endian\n"); else printf("big-endian\n");或者一个union: union { int i; char c[si...
分类:
其他好文 时间:
2014-11-06 12:17:24
阅读次数:
693
字节转换字符由来:在网络上面有着许多类型的机器,这些机器在表示数据的字节顺序是不同的,比如i386芯片是低字节在内存地址的低端,intel处理器将32位的整数分4个连续的字节,并以字节序1-2-3-4存储到内存中,1表示最高位字节;而alpha芯片却相反.为4-3-2-1方式,如果保存整数内存只是以...
分类:
其他好文 时间:
2014-10-28 17:45:50
阅读次数:
248
给出一个作为字符串的网络地址的"点地址"(如127.0.0.1)表示,返回一个代表该地址数值的整数。地址可以是4或8比特地址。mysql> SELECT inet_aton('209.207.224.40'); -> 3520061480产生的数字总是按照网络字节顺序。如上面的例子,数字按照 209...
分类:
数据库 时间:
2014-10-13 10:47:49
阅读次数:
216
网络通信经常涉及到字节序转化,接下来理解主机序和网络序有什么异同。
①主机字节顺序HBO(Host Byte Order)
采用小头序(little-endian),从低到高的顺序存储。
低位字节排放在内存的低地址端,高位地址排放在高位地址端。
②网络字节顺序NBO(Network Byte Order)
采用大头序(big-endian),从高到低的顺序存储。
高位字...
分类:
编程语言 时间:
2014-10-10 15:13:14
阅读次数:
232
#include
typedef int* int_ptr;
typedef unsigned char* byte_ptr;
void show_bytes( byte_ptr start, int len ){
int i;
for( i = 0; i < len; ++i ){
printf( " %4.2x", start[i] );
}
printf( "\n"...
分类:
其他好文 时间:
2014-10-07 13:34:43
阅读次数:
164