开发者社区> 问答> 正文

TCP网络编程一般都是怎么封包解包的? 怎么才能解决不同平台的字节序和不同整数大小的问题?

unp里讲到不同平台传输二进制会因为字节序或者位数不同的问题产生问题,那应该怎么解决这个问题呢? 新手。。。求大神提供点这方面的资料。。。 还有为什么传字符串就不会有问题呢? 不会有问题的是一个字节的字符吧。。比如ASCII码,一个字符只占一个字节那不会有字节序问题,那要传多字节字符呢?比如传输中文 大端小端存储的也不一样吧? 难道不会有问题?

展开
收起
a123456678 2016-06-12 10:55:49 2458 0
1 条回答
写回答
取消 提交回答
  • 字节序一般是对数字而言的,字符串中编码就定义了字节的顺序,所以使用相同的字符串编码就确定了它相同的字节顺序。而数字的字节序是历史问题,目前都还没统一,要处理数字字节序的问题也很简单,不要使用系统默认的数字写入或读取方式去读取数据(因为这样采用的是默认的字节序),而是自己通过程序将数字拆成大端或者小端的数个字节,在读取时也是手动组合大端或者小端的数据,这样就保证了读写有统一的字节序。

    2019-07-17 19:33:28
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
可编程网络视角的网络创新研究 立即下载
可编程网络和SDN3.0 立即下载
阿里云栖开发者沙龙PHP技术专场-深入浅出网络编程与swoole内核-吴镇宇 立即下载

相关实验场景

更多