字节序--为什么端口号和地址需要字节序转换而数据不需要
2013-01-25 11:45
363 查看
对于什么是字节序这里就不说了,主要针对标题中的问题来展开讨论:
1、端口号和地址需要字节序转换:是因为TCP/IP协议栈要求的,必须要转。
2、数据不需要字节序转换:并不是正真的不需要转化,是因为我们现在使用的都是PC机,它们的主机字节序都是一样的(小端的),所以即使我们的数据在网络传输过程中没有进行字节序转换,对方收到以后也是能够正确的存储的。假如接收的是大端的主机,那么它收到例如中文(两个字节的数据)时就会出错了。要保证两种主机都能正通信,那么数据在传输过程中也一定要进行字节序转换。(注:一个字节的数据(如单个字符)传输无需字节序转换)
1、端口号和地址需要字节序转换:是因为TCP/IP协议栈要求的,必须要转。
2、数据不需要字节序转换:并不是正真的不需要转化,是因为我们现在使用的都是PC机,它们的主机字节序都是一样的(小端的),所以即使我们的数据在网络传输过程中没有进行字节序转换,对方收到以后也是能够正确的存储的。假如接收的是大端的主机,那么它收到例如中文(两个字节的数据)时就会出错了。要保证两种主机都能正通信,那么数据在传输过程中也一定要进行字节序转换。(注:一个字节的数据(如单个字符)传输无需字节序转换)
相关文章推荐
- 为什么只有ip地址和端口号需要主机字节序到网络字节序的转换?
- 我们为什么需要DTO(数据传输对象)
- 机器学习中为什么需要对数据进行归一化?
- 原型的Date类型数据格式转换成需要的日期格式
- GPS数据转换为OneNet需要的数据
- 转帖:一个简单的替换字符的SQL命令(有人说数据转换的时候需要)
- HCS12X–数据访问(如何在CodeWarrior中转换逻辑地址与全局地址)
- 8086CPU如何用内部16位的数据转换成20位的地址
- 将自己的图像数据转换成caffe需要的db(leveldb/lmdb)文件
- 为什么同时需要IP地址与mac地址
- 我们为什么需要DTO(数据传输对象)
- 为什么一些机器学习模型需要对数据进行归一化?
- SDI 拆分窗口时 两个类似的视图,为什么一个头文件中需要声明DOC类,而另一个则不需要声明
- 深度学习文章3:将自己的图像数据转换成caffe需要的db(leveldb/lmdb)文件
- 如何将rdba转换成数据文件的地址
- Java为什么需要保留基本数据类型
- File类中createNewFile方法为什么需要抛出异常而mkdirs不需要?
- 为什么需要物联网和大数据?
- 我整理了几个大数据课程的下载地址,兄弟们需要的可以下载了。
- 8086CPU如何用内部16位的数据转换成20位的地址