?字节顺序有“大端模式” 和 “小端模式” 两种
?字节顺序只是对内置数据类型而言,例如对于一整型(int,int 是内置数据类型)数,比如 0x123456
大端模式:高地址---------->低地址0x56 | 0x34 | 0x12小端模式:高地址 ---------->低地址0x12 | 0x34 | 0x56
但对于字符串就没有大端和小端的说法(虽然字符是内置数据类型,但字符串不是),比如 “123456”,不管系统是大端还是小端模式,其在内存中的字节顺序都是:
低地址 -------------------------------> 高地址
0x31 | 0x32 | 0x33 | 0x34 | 0x35 | 0x36
?单个字节内的比特位不受这种字节顺序的影响,大于一个字节的数据类型才有字节顺序的问题
比如一个字节 1000 0000(或表示为十六进制 80H),不管是什么大端还是小端顺序其在内存中的表示都是这样(二进制):1000 0000。
?网络字节顺序是“所见即所得”的顺序,即大端模式
比如 int n = 0x567589;
所见到的是“567589”,大端顺序也是
低地址 ----------> 高地址
0x56 | 0x75 | 0x89
这就是网络字节顺序,所见到的顺序和在内存中的顺序是一致的。
<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">