我需要解码一个base 64字符串。为此,我使用以下代码:
// Get the base 64 string vector.
NSString *vector64String = insertRequestDictionnary[@"check"];
// Decode the base 64 string into data.
NSData *vector64Data = [NSData dataFromBase64String: vector64String];
// Get the string from decoded data.
NSString *decodeVector = [[NSString alloc] initWithData: vector64Data
encoding: NSUTF8StringEncoding];
..但每次我得到一个nil字符串(decodeVector)。 我查看这个网站(http://www.base64decode.org/),我的第一个字符串(vector64string)是基数64.例如:“h508ILubppN1xLpmXWLfnw ==”给出“<uĺf] bߟ”
感谢。
答案 0 :(得分:0)
并非所有数据都是NSUTF8String。 Base64的要点是创建一个自然不是字符串的数据的字符串表示。
NSString *vector64String = @"h508ILubppN1xLpmXWLfnw==";
NSData *vector64Data = [[NSData alloc] initWithBase64EncodedString:vector64String options:0];
NSLog(@"vector64Data: %@", vector64Data);
NSLog输出:
vector64Data:< 879d3c20 bb9ba693 75c4ba66 5d62df9f>
vector64Data
解码后的base64字符串。
vector64Data不是UTF8字符串,只是数据。