我计划开发一个基于windows的客户端应用程序和一个平台无关的服务器应用程序。客户端应用程序基本上向服务器应用程序发送消息。客户端应用程序可以用英语或其他语言发送消息。我是否应该在客户端应用程序中使用UNICODE对消息进行编码?在涉及网络通信的应用程序中,一般做法是什么?我的客户端和服务器应用程序将使用自定义协议通过TCP/IP交换消息。Windows和UNIX平台默认支持哪种UNICODE编码?为了解码UNICODE消息,我是否也应该交换协议中的编码类型?请给我建议。
发布于 2008-11-13 04:46:32
寻找UTF-8,它是unicode的8位字节编码,对英语和西方语言有效。
交换编码类型总是一个好主意,以防您以后想要支持其他类型。
所有主流操作系统都支持UTF-8 :es和计算机语言。
发布于 2008-11-13 04:52:42
如果你同时控制服务器和客户端,我会选择一种编码类型并坚持使用它。
我建议使用UTF-8 (对英语和西方语言最有效)或UTF-16 (确保选择字节顺序)。
发布于 2008-11-13 04:54:14
你可以使用任何你想要的编码,你只需要注意字节顺序之类的东西。Windows内部使用UTF-16 (小端),所以如果您希望大多数系统都是Windows,那么您可能应该使用它。否则,我会推荐UTF-8,它不需要担心字节顺序问题。
如果您使用UTF-16 (或UTF-32,我绝对不推荐),请明确地说明网络上数据的字节顺序。然后,对于每个从网络套接字读取或写入Unicode字符的客户端,将平台的本机字节顺序转换为网络字节顺序-这要么是无操作,要么是字节交换。
https://stackoverflow.com/questions/286266
复制相似问题