我在 C 函数中有以下代码片段
int i;
for (i = bytes; i>0; --i) {
printf("byte: %d", data & 0xff);
data>>= 8;
}
以大端方式将给定数据拆分为字节(bytes
是 中的字节数data
)。数据本身可以是任何东西——一个 int 或一个 100 字节长的字符串。但是,如果data
不是int
,则代码将不起作用(invalid operands to binary X
)。
例如,假设data
是一个字符串,其内容hello world
我希望得到以下数字:
byte: 104
byte: 101
byte: 108
byte: 108
byte: 111
byte: 32
byte: 119
byte: 111
byte: 114
byte: 108
byte: 100
我需要一个简单的解决方案来在纯 C 中工作,除了标准库之外没有任何额外的库。