[英]Cannot convert NSData to NSString
I have text that I am encrypting as follows: 我要加密的文字如下:
NSData *data = [text dataUsingEncoding:NSUTF8StringEncoding];
NSError *error;
NSData *encryptedData = [RNEncryptor encryptData:data withSettings:kRNCryptorAES256Settings password:[loggedUser getKey]error:&error];
I am then trying to to convert the string off and store it somewhere. 然后,我试图将字符串转换掉并存储在某个地方。 This is what I am trying: 这是我正在尝试的:
NSString *convertedString = [[NSString alloc] initWithData:encryptedData encoding:NSUTF8StringEncoding];
However the string convertedString
is always null/nil even though the debugger shows me encryptedData
always has data inside of it. 但是,即使调试器向我显示encryptedData
始终在其中包含数据,字符串convertedString
始终为null / nil。 How do I convert this to a string? 如何将其转换为字符串? Also, along the same lines, how do I convert it back into NSData
to be decrypted later? 此外,同样,如何将其转换回NSData
以便稍后解密?
Here is an example output of the NSData
I am trying to convert: 这是我尝试转换的NSData
的示例输出:
Printing description of encryptedData: <0301ff17 956167db a88cdc14 7cab1a85 28ad01c9 78c5a843 ecf22404 9c2c6915 7681277b 6e1161d8 1dd1122b 29c65f76 8bf95652 791cf2b0 3231b7b6 dbd00cb6 56301058 bfdebd9c 5edfcfe2 bc21c4fc 707a> 加密数据的打印说明:<0301ff17 956167db a88cdc14 7cab1a85 28ad01c9 78c5a843 ecf22404 9c2c6915 7681277b 6e1161d8 1dd1122b 29c65f76 8bf95652 791cf2b0 3231b7b6 dbd00cb6 56301058 bfcd4>
you should send NSData
directly. 您应该直接发送NSData
。 or base64 encoded it using base64EncodedStringWithOptions:
或使用base64EncodedStringWithOptions:
base64进行编码base64EncodedStringWithOptions:
Try this: 尝试这个:
NSString *a = [[NSString alloc] initWithBytes:[data bytes] length:[data length] encoding:NSASCIIStringEncoding];
Most common except UTF-8 encoding is: 除UTF-8编码外,最常见的是:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.