Pertanyaan Bagaimana cara mengonversi nilai NSString ke NSData?


Bagaimana cara mengonversi NSString nilai untuk NSData?


881
2018-05-23 11:20


asal


Jawaban:


NSString* str = @"teststring";
NSData* data = [str dataUsingEncoding:NSUTF8StringEncoding];

1377
2018-05-23 11:34



NSString *str = @"helowrld";
// This converts the string to an NSData object
NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];

Anda dapat mengambil referensi dari ini link


64
2018-03-10 12:39



Mengkonversi NSString seperti begitu akan memaksa trailing \0 byte, yang artinya NSJSONSerialization:JSONObjectWithData dan yang lain akan gagal kecuali Anda menghapusnya.

Yaitu. melakukan

NSData* data = [yourString dataUsingEncoding:NSUTF8StringEncoding];

lalu

data = [data subdataWithRange:NSMakeRange(0, [data length] - 1)];

maka jangan ragu untuk melanjutkan NSJSONSerialization:JSONObjectWithData.


29
2017-10-25 19:47



Dalam kasus Pengembang Swift datang ke sini,

untuk mengkonversi dari NSString / String ke NSData

var _nsdata = _nsstring.dataUsingEncoding(NSUTF8StringEncoding)

20
2018-03-03 15:28



Objective-C:

NSString *str = @"test string";
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:str];
NSString *thatStr = [NSKeyedUnarchiver unarchiveObjectWithData:data];

Cepat:

let str = "test string"
let data = NSKeyedArchiver.archivedData(withRootObject: str)
let thatStr = NSKeyedUnarchiver.unarchiveObject(with: data) as! String

16
2018-03-26 23:03



Pertama, Anda harus menggunakan dataUsingEncoding: bukannya melalui UTF8String. Anda hanya menggunakan UTF8String ketika Anda membutuhkan C string dalam pengkodean itu.

Kemudian, untuk UTF-16, lewati saja NSUnicodeStringEncoding dari pada NSUTF8StringEncoding di dalam kamu dataUsingEncoding: pesan.


11
2017-09-13 08:02



NSString *str = @"hello";
NSData *data = [NSData dataWithBytes:str.UTF8String length:str.length];

6
2017-11-27 17:46