我有一些創建字符串的java服務器端代碼(例如Hello world
),然後將此字符串轉換爲字節數組,最後發送給iOs客戶端。如何將NSArray轉換爲目標c中的NSString?
我的iOs客戶端使用NSStream
來讀取數據並獲取數組。 現在我想從數組中獲取原始字符串。
我該怎麼做?
我試圖將數組轉換爲NSData
,然後到NSString
,但它失敗。 我也嘗試將數組轉換爲字符串,但它似乎將數組中的數字轉換爲字符串數字而不是我期望的字符串'Hello world'。
我有一些創建字符串的java服務器端代碼(例如Hello world
),然後將此字符串轉換爲字節數組,最後發送給iOs客戶端。如何將NSArray轉換爲目標c中的NSString?
我的iOs客戶端使用NSStream
來讀取數據並獲取數組。 現在我想從數組中獲取原始字符串。
我該怎麼做?
我試圖將數組轉換爲NSData
,然後到NSString
,但它失敗。 我也嘗試將數組轉換爲字符串,但它似乎將數組中的數字轉換爲字符串數字而不是我期望的字符串'Hello world'。
您應該將您的JSON更改爲這樣:{"type":"PONG","content":"478773035"]}
。
然而,這樣的事情可能會工作:
uint8_t * const buffer = (uint8_t*)calloc(1, [ bytes count ] + 1)
assert(buffer) ;
size_t index = 0 ;
for (NSNumber * byteNumber in bytes)
{
buffer[ index ] = (uint8_t)[ byteNumber unsignedCharValue ] ;
++index;
}
NSString * const string = [ NSString stringWithUTF8String:buffer ];
free((void*)buffer);
什麼是數據樣子的?請發佈您已經嘗試過的代碼。 – ZeMoon
'我的ios客戶端使用NSStream來讀取數據,並獲得數組,如果您發佈字節,您應該得到'NSData'。 –
服務器響應pong消息json格式:{「type」:「PONG」,「content」:[52,55,56,55,55,51,48,51,53]},當然這個json會轉換爲字節數組發送到ios客戶端。使用代碼:uint8_t dataArr [len]; [_inputStream read:dataArr maxLength:len]; NSData * data = [NSData dataWithBytes:dataArr length:len];獲取數據,並使用json serialize來獲取類型是'PONG',而內容是一個數組。現在我想將數組轉換爲一個字符串。 – fcbflying