Wie konvertiert man den NSString-Wert in NSData?

Wie konvertiert man den NSString Wert in NSData ?

883
23 мая '09 в 14:20 2009-05-23 14:20 Anish wird eingestellt 23. Mai 09 um 14:20 2009-05-23 14:20
@ 10 Antworten
 NSString* str = @"teststring"; NSData* data = [str dataUsingEncoding:NSUTF8StringEncoding]; 
1378
23 мая '09 в 14:34 2009-05-23 14:34 Antwort von flitzwald am 23. Mai 09 um 14:34 2009-05-23 14:34
 NSString *str = @"helowrld"; // This converts the string to an NSData object NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding]; 

Sie können den Link verwenden

64
10 марта '15 в 15:39 2015-03-10 15:39 Die Antwort wird von ALOK KUMAR am 10. März 15 um 15:39 Uhr 2015-03-10 15:39 gegeben

NSString einen NSString wie NSJSONSerialization:JSONObjectWithData , wird das Byte \0 , was NSJSONSerialization:JSONObjectWithData , während andere fehlschlagen, wenn Sie sie nicht löschen.

d.h. tun

 NSData* data = [yourString dataUsingEncoding:NSUTF8StringEncoding]; 

und dann

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

Dann können Sie mit der NSJSONSerialization:JSONObjectWithData .

29
25 окт. Die Antwort wird am 25. Oktober von Andrew Kolesnikov gegeben . 2011-10-25 22:47 '11 am 22:47 2011-10-25 22:47

Im Falle von Swift Developer

konvertieren von NSString / String nach NSData p>

 var _nsdata = _nsstring.dataUsingEncoding(NSUTF8StringEncoding) 
20
03 марта '15 в 18:28 2015-03-03 18:28 Antwort von Sruit A.Suk 3. März 15 um 18:28 2015-03-03 18:28

Ziel-C:

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

Schnell:

 let str = "test string" let data = NSKeyedArchiver.archivedData(withRootObject: str) let thatStr = NSKeyedUnarchiver.unarchiveObject(with: data) as! String 
16
27 марта '16 в 2:03 2016-03-27 02:03 Die Antwort gibt Shamsiddin am 27. März '16 um 02:03 Uhr 2016-03-27 02:03

Zunächst sollten Sie dataUsingEncoding: Statt einen UTF8String . Sie verwenden UTF8String nur, wenn Sie die C Zeichenfolge in dieser Kodierung benötigen.

Dann übergeben Sie für UTF-16 einfach NSUnicodeStringEncoding anstelle von NSUTF8StringEncoding in der Nachricht dataUsingEncoding:

11
13 сент. Antwort von Jerry Thomsan vom 13. September 2012-09-13 11:02 '12 am 11:02 2012-09-13 11:02
 NSString *str = @"hello"; NSData *data = [NSData dataWithBytes:str.UTF8String length:str.length]; 
6
27 нояб. Die Antwort gibt Nex Mishra am 27. November. 2015-11-27 20:46 '15 am 20:46 2015-11-27 20:46

Bei Swift 3 werden Sie grundsätzlich von String in Data konvertieren.

 let myString = "test" let myData = myString.data(using: .utf8) print(myData) // Optional(Data) 
6
01 нояб. die antwort ist gegeben jacks205 01 nov. 2016-11-01 10:59 '16 am 10:59 2016-11-01 10:59
 NSString *str = @"Banana"; NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:true]; 
1
14 апр. Antwort von Kamani Jasmin am 14. April 2018-04-14 00:37 18 um 0:37 2018-14-14 00:37

Ziel c

 NSString *str = @"Hello World"; NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:NO]; 

schnell

 let str = "Hello World" let data = string.data(using: String.Encoding.utf8, allowLossyConversion: false) 
0
17 апр. Antwort Rohit Makwana 17. April 2018-04-17 09:19 '18 um 9:19

Weitere Fragen zu Etiketten mit oder Frage stellen