字符串是否需要转换字节顺序?

2024-02-07

发送和接收字符串时是否需要转换为网络/主机字节顺序。可用函数(例如 htons())仅适用于 16 位和 32 位整数。我还知道一个事实,单个字符不应该产生影响,因为通常它是一个字节大。但是字符串呢?

下面是一个代码片段

 int len; recv(fd, &len, sizeof (int), 0); 
 len = ntohl(len);

 char* string = malloc(sizeof (char) * (len + 1)); 
 int received = recv(fd, string, sizeof (char) * len, 0); 
 string[len] = '\0';

这取决于字符串的编码。

如果它是面向字节的格式(普通的旧 ASCII 或 UTF-8),那么这并不重要。

如果它使用大于单个字节的“代码点”,那么是的,这很重要。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

字符串是否需要转换字节顺序? 的相关文章

随机推荐