Pregunta ¿Cómo convierto un valor de NSString a NSData?


¿Cómo convierto un NSString valor para NSData?


881
2018-05-23 11:20


origen


Respuestas:


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

puedes tomar referencia de esto enlazar


64
2018-03-10 12:39



Mudado NSString como así forzará un seguimiento \0 byte, lo que significa NSJSONSerialization:JSONObjectWithData y otros fallarán a menos que lo eliminen.

Es decir. hacer

NSData* data = [yourString dataUsingEncoding:NSUTF8StringEncoding];

y entonces

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

entonces siéntase libre de continuar con NSJSONSerialization:JSONObjectWithData.


29
2017-10-25 19:47



En caso de que Swift Developer venga aquí,

para convertir de NSString / String a NSData

var _nsdata = _nsstring.dataUsingEncoding(NSUTF8StringEncoding)

20
2018-03-03 15:28



C objetivo:

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

Rápido:

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

16
2018-03-26 23:03



En primer lugar, debes usar dataUsingEncoding: en lugar de pasar por UTF8String. Solo usas UTF8String cuando necesitas un C cadena en esa codificación.

Entonces para UTF-16, solo pasa NSUnicodeStringEncoding en lugar de NSUTF8StringEncoding en tus dataUsingEncoding: mensaje.


11
2017-09-13 08:02



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

6
2017-11-27 17:46



Para Swift 3, en su mayoría se convertirá de String a Data.

let myString = "test"
let myData = myString.data(using: .utf8)
print(myData) // Optional(Data)

6
2017-11-01 07:59



NSString *str = @"Banana";
NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:true];

1
2018-04-13 21:37



C objetivo

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

Rápido

let str = "Hello World"
let data = string.data(using: String.Encoding.utf8, allowLossyConversion: false)

0
2018-04-17 06:19