通常情况下,网络编程的i/o处理,使用的函数有
ssize_t read(int fd, void *buf, size_t nbyte)
ssize_t write(int fd, const void *buf, size_t nbytes)
按字节一个个的进行传输。
但是通常情况下,中文的一个字占2~3个字节,这样的话可能在传输的过程中,出现乱码的情况。
所以想要请教一下,这种问题应该如何解决呢?
通常情况下,网络编程的i/o处理,使用的函数有
ssize_t read(int fd, void *buf, size_t nbyte)
ssize_t write(int fd, const void *buf, size_t nbytes)
按字节一个个的进行传输。
但是通常情况下,中文的一个字占2~3个字节,这样的话可能在传输的过程中,出现乱码的情况。
所以想要请教一下,这种问题应该如何解决呢?
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答1.6k 阅读✓ 已解决
首先,tcp保证了传输中的顺序递交和数据正确性的问题,所以不可能导致数据错误。
应该是你服务端和客户端解码问题

我猜你是linux上为服务端,win上为客户端遇到的这样的问题。
你可以通过
这两个命令行来查看编码是否一致。
另外你还要注意大小端的问题。