【发布时间】:2011-05-06 07:03:26
【问题描述】:
对于我正在编写的一些 MIDI 数据,我必须进行一些 int -> 字节转换并切换到大端。现在,我正在这样做:
int tempo = 500000;
char* a = (char*)&tempo;
//reverse it
inverse(a, 3);
[myMutableData appendBytes:a length:3];
和反函数:
void inverse(char inver_a[],int j)
{
int i,temp;
j--;
for(i=0;i<(j/2);i++)
{
temp=inver_a[i];
inver_a[i]=inver_a[j];
inver_a[j]=temp;
j--;
}
}
它可以工作,但不是很干净,而且我不喜欢两次都必须指定3(因为我有幸知道它最终会占用多少字节)。
有没有更方便的方法可以解决这个问题?
【问题讨论】:
标签: objective-c c endianness