从PostgreSQL传来的二进制数据是网络字节顺序的,即高位先到,低位后到.
使用时转换成本机字节顺序, 才能万无一失.
复制代码
1
//将网络字节序的字节数据,转换成本机字节顺序的:
long long netToHost_Int8(byte * bytes, int len = 8)
{
unsigned long long llv = 0;
for (int i = 0; i < len; i++){
llv <<= 8;
llv |= bytes[i];
}
return llv;
}
double netToHost_Double(char * chars)
{
unsigned long long llv = netToHost_Int8((byte*)chars);
return *(double*)&llv;
}
int netToHost_Int4(char * chars)
{
return (int)netToHost_Int8((byte*)chars, 4);
}
short netToHost_Int2(char * chars)
{
return (short)netToHost_Int8((byte*)chars, 2);
}
最后
以上就是洁净小伙最近收集整理的关于转换字节顺序的全部内容,更多相关转换字节顺序内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复