1. 程式人生 > >IOS int 轉nsdata (把1 變為 0 0 0 1)

IOS int 轉nsdata (把1 變為 0 0 0 1)

一、 問題

將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;

}