IOS int 转nsdata (把1 变为 0 0 0 1)

来源:互联网 发布:沈阳有几种打车软件 编辑:程序博客网 时间:2024/06/05 20:35

一、 问题


将int  转换为NSData  ,  比如 Int  i = 1  转化为NSData   对应的十六进制 应该是 0 0 0 1.



这个问题折腾了很久   socket 通过WiFi 连接 硬件,一直发了消息没返回,后来才发现是接口里一个转换不对造成的。


二、办法


+(NSData *)int2Nsdata:(int) i{

    int j = ntohl(i);  //高低位转换    不然1 的结果是 1 0 0 0

    NSData *data = [NSDatadataWithBytes: &j length:sizeof(i)];

    return data;

}


0 0
原创粉丝点击