我正在尝试将char变量从big endian转换为little endian.
这正是:
char name[12];
Run Code Online (Sandbox Code Playgroud)
我知道如何在大端和小端之间转换int,但是char会让我搞砸.
我知道我必须首先将它转换为整数形式,我有.
对于转换int,这是我使用的:
(item.age >> 24) | ((item.age >> 8) & 0x0000ff00) | ((item.age << 8) & 0x00ff0000) | (item.age << 24);
Run Code Online (Sandbox Code Playgroud)
对于转换char,如果可能的话,我想以同样的方式进行,只是因为这是我理解的唯一方法.
Endianess仅影响字节顺序.由于char只是一个字节,所以在所有endianess格式上都是相同的.
并且作为注释:您可能想要在libc中查找endianess转换函数:
htonl, htons
ntohl, ntohs
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5575 次 |
| 最近记录: |