[英]NSData to NSString using initWithBytes:length:encoding
我有一些圖像數據(jpeg)我想從我的iPhone應用程序發送到我的webservice。 為了做到這一點,我正在使用圖像中的NSData並將其轉換為將放置在我的JSON中的字符串。
目前,我這樣做:
NSString *secondString = [[NSString alloc] initWithBytes:[result bytes]
length:[result length]
encoding:NSUTF8StringEncoding];
結果是NSData類型。 但是,即使結果長度返回實際值(如14189),secondString似乎也為null。 我使用此方法,因為結果是原始數據而不是以null結尾。
難道我做錯了什么? 我在其他領域使用過這個代碼,它似乎運行正常(但我目前使用的那些區域涉及文本而不是圖像數據)。
TIA。
您沒有將數據轉換為字符串。 您試圖將其解釋為UTF-8編碼的字符串,除非數據確實是UTF-8編碼的字符串,否則它將失敗。 你最好的選擇是以某種方式對其進行編碼,可能是Manny建議的Base64,然后在服務器上再次對其進行解碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.