unp里讲到不同平台传输二进制会因为字节序或者位数不同的问题产生问题,那应该怎么解决这个问题呢? 新手。。。求大神提供点这方面的资料。。。 还有为什么传字符串就不会有问题呢? 不会有问题的是一个字节的字符吧。。比如ASCII码,一个字符只占一个字节那不会有字节序问题,那要传多字节字符呢?比如传输中文 大端小端存储的也不一样吧? 难道不会有问题?
字节序一般是对数字而言的,字符串中编码就定义了字节的顺序,所以使用相同的字符串编码就确定了它相同的字节顺序。而数字的字节序是历史问题,目前都还没统一,要处理数字字节序的问题也很简单,不要使用系统默认的数字写入或读取方式去读取数据(因为这样采用的是默认的字节序),而是自己通过程序将数字拆成大端或者小端的数个字节,在读取时也是手动组合大端或者小端的数据,这样就保证了读写有统一的字节序。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。