有个问题想请教一下;之前在开发过程中也遇到了和博主一样的业务场景,Android和后端交互,需要将小端序转变为大端序,收到数据将大端转为小端。 看过一些文章描述,移动端一般都是小端序,而网络序都是大端序。 但是也有一些文章就说:Java默认就是大端序,以至于我们在网络和本地文件IO的场景无缝处理。 这个Java默认大端,是指这个语言大端?但是Java最后都会运行在PC或者Android上面啊?而大小端都根据设备的CPU来说的,那也正常都是小端啊....所以怎么理解这个Java默认大端序呢?在什么场景上会显示出这是大端序呢? |
引用:JackJiang 发表于 2022-11-30 15:21 感觉都不用处理 比如最简单的http1.1 header的content-length就没有要处理大小端这一说。 |
引用:leirenbaobao 发表于 2022-11-30 15:14 要处理应该都要处理 |
引用:JackJiang 发表于 2022-11-30 12:01 就是MobileIMSDK中关于TCPFrameCodec.m的代码。不明白为什么数据包头header需要大小端处理,而数据包体body不需要。 就是帖子中第七节。 |
引用:leirenbaobao 发表于 2022-11-30 11:21 “为什么后面的内容不转呢?”: 你是看到哪里的具体代码了?你可以贴出来我看看,让我理解一下你说的是什么意思 |
引用:JackJiang 发表于 2021-08-17 15:57 前辈 这里有个疑问请教下 如果IMSDK的包结构是前面部分固定几个字节是长度 这部分转换成网络字节序。后面一部分是具体内容 为什么后面的内容不转呢?如果后面的内容就是0x1234567。不一样会存在问题? |
学习了 |
引用:alvin! 发表于 2021-08-17 15:11 嗯呢,感谢反馈 |
作者你好,我用macOS测试,使用的是小端字节序 |
不错不错 |
引用:St. 发表于 2020-10-27 15:29 嗯呢 |
屌爆了 |