请教各位老大,有关UNICODE字符串在网络上传送的网络字节顺序的问题

wyzegg 2004-09-10 12:01:07
在WINDOWS下的UNICODE字符串是按照SHORT定义的,
如果在网络上不进行网络字节顺序的转换,把字符串发送到其他的非WINDOWS系统下是否存在网络字节顺序的问题。
谢谢!
...全文
136 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
AntonlioX 2005-05-21
  • 打赏
  • 举报
回复
up
wyzegg 2004-09-17
  • 打赏
  • 举报
回复
UP
pc200300 2004-09-16
  • 打赏
  • 举报
回复
把UNICODE转换成char再在网络上传输,即保证了节省网络带宽,同时又符合一般PC--OS的数据传输规则,何乐而不为呢???
wyzegg 2004-09-13
  • 打赏
  • 举报
回复
UP
netsys2 2004-09-10
  • 打赏
  • 举报
回复
同意楼上。

TCP其它的数据都是你自己定义,只有当你自己处理IP协议头时,其中IP包长度的存储格式与WINDOWS不一样。需要转换。

其转换函数为ntohs,htons,(win32 socket api函数):


The Windows Sockets ntohs function converts a u_short from TCP/IP network byte order to host byte order.

u_short ntohs (

u_short netshort
);


Parameters

netshort

[in] A 16-bit number in TCP/IP network byte order.



Remarks

This routine takes a 16-bit number in TCP/IP network byte order and returns a 16-bit number in host byte order.

Return Values

ntohs returns the value in host byte order.

See Also
htonl, htons, ntohl, WSAHtonl, WSAHtons, WSANtohl, WSANtohs


=----

而一般我们自己的应用是在TCP层,自己定义格式,自己处理。不需要转换。

除非你自己改IP包

htonl, htons, ntohl, WSAHtonl, WSAHtons, WSANtohl, WSANtohs
awjx 2004-09-10
  • 打赏
  • 举报
回复
只有整型才要进行网络字节顺序转换吧!
其他的类型不要吧!

4,356

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧