netty大端小端处理
在网络数据传输过程中都是字节(byte)数据的传输,字节存在两种序列化方式,即大端序和小端序。
大端和小端
大端字节序:高位字节在前,低位字节在后,这是人类读写数值的方法。
小端字节序:低位字节在前,高位字节在后,即以0x1122形式储存。
转换
1、netty接收到的数据为小端数据转换为大端数据
读取的时候可以使用
//byte不需要转换,因为就一个字节不分大小端
byteBuf111.readShortLE();
byteBuf111.readIntLE();
2、netty返回给客户端数据小端数据
ByteBuf 默认是大端数据,
可以使用两种方法
1)声明ByteBuf为小端类型
ByteBuf byteBuf= Unpooled.buffer(12).order(ByteOrder.LITTLE_ENDIAN);
2)写入数据的时候指定小端
byteBuf111.writeIntLE(8);byteBuf111.writeShortLE(8);
测试
大端数据和小端数据结果测试
public static void main(String[] args) {ByteBuf byteBuf= Unpooled.buffer(12).order(ByteOrder.LITTLE_ENDIAN);byteBuf.writeByte(16);byteBuf.writeInt(8);byteBuf.writeByte(2);byte[] bytes=new byte[6];byteBuf.readBytes(bytes);System.out.println(Arrays.toString(bytes));ByteBuf byteBuf111= Unpooled.buffer(12);byteBuf111.writeByte(16);byteBuf111.writeInt(8);byteBuf111.writeByte(2);byte[] bytes111=new byte[6];byteBuf111.readBytes(bytes111);System.out.println(Arrays.toString(bytes111));}
返回结果
[16, 8, 0, 0, 0, 2]小端数据
[16, 0, 0, 0, 8, 2]大端数据
netty大端小端处理相关推荐
- netty 大端小端_深入浅出: 大小端模式
Writer :李强强 一.什么是大小端? 大小端在计算机业界,Endian表示数据在存储器中的存放顺序.百度百科如下叙述之: 大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节 ...
- socket 大端 小端 转换 (转)《二》
http://blog.csdn.net/kukumouse/article/details/2270356 (1)对于位域结构中的变量来说,其长度不能跨越字节,也就是说不能超过8位.当然如果设置空白 ...
- C语言中低位存放,C语言 大端小端存储解析以及判断方法
当我们在C语言中查看数据在内存中的存储时,我们经常会发现一个很奇怪的现象,什么现象呢? 例如下面这段代码 int main() { int i = 1; return 0; } 数据在内存中的存放方式 ...
- C语言程序设计 | 大端小端存储解析以及判断方法
当我们在C语言中查看数据在内存中的存储时,我们经常会发现一个很奇怪的现象,什么现象呢? 例如下面这段代码 int main() {int i = 1;return 0; } 数据在内存中的存放方式似乎 ...
- C/C++之大端小端
如果有一个变量 unsigned int a=0x12345678; 大端Big-Endian:高字节在前 12 34 56 78 小端Little-Endian:低字节在前 78 56 34 12 ...
- 彻底弄懂计算机中的大端小端
大端与小端这个问题在做和其他设备交换原始字节数据的时候是非常重要的概念,也是必须要掌握的内容,但是很多人就是仅仅是稍微有些了解,但每次真正去做东西的时候,还是要花半天去想,博主就是这样的人,出现这样问 ...
- 字符编码方式及大端小端
参考资料: http://www.cnblogs.com/zhouyuqin/p/4688459.html http://pcedu.pconline.com.cn/empolder/gj/other ...
- 栈增长方向与大端/小端问题
转:http://www.cnblogs.com/xkfz007/archive/2012/06/22/2558935.html 栈增长和大端/小端问题是和CPU相关的两个问题. 在内存管理中,与栈对 ...
- 大端小端与MSB和LSB
大端(Big-endian):数据的高位字节存放在地址的低端 低位字节存放在地址高端: 小端(Little-endian):数据的高位字节存放在地址的高端 低位字节存放在地址低端: 举个简单而又容易理 ...
最新文章
- 基于Python分析深圳程序员工资有多高?
- SpringMVC中使用Interceptor拦截器
- 对话框的MFC,一点回车就退出
- 正则表达式||grep的使用
- 前端学习(1925)vue之电商管理系统电商系统之美化一层循环的UI结构
- weblogic简单介绍
- 【Android界面实现】Drawable Animation 使用介绍
- linux 递归查看文件个数,Linux下递归读取文件数量
- UIScrollView, 滚动视图
- 实时音频编解码之七 预加重
- 生活随记 - 感恩老同学
- Enterprise Architect学习(1)
- mui实现二维码扫描功能
- mysql临时表在哪找_MySQL 中的临时表
- 自然语言处理(NLP)-统计句法分析(CKY算法用于PCFG下的句法分析)
- 2023西北大学计算机考研信息汇总
- 梦在远方,你依然在心上
- 51单片机汇编指令记忆方法
- fake rolex watches sale Stuff.co.nz - 新西兰最新新闻和世界新闻,体育新闻和天气预报新西兰
- FPGA 视频拼接器底图的实现