對Base64字符串解碼:
NSString *testStr = @"eyJleHBpcmVkIjoxNTAwNzc1OTA1NzI2LCJ1c2VySWQiOjI3fQ";
NSInteger dValue = testStr.length%3;
//這一步的處理,只是一種嘗試,尚不確定是否萬能
for (int i = 0; i < dValue; i++) {
testStr = [testStr stringByAppendingString:@"="];
}
NSData *testData = [[NSData alloc] initWithBase64EncodedString:testStr options:0];
NSString *testStrDecoded = [[NSString alloc] initWithData:testData encoding:NSUTF8StringEncoding]
對字符串進行base64編碼:
//測試代碼
NSDictionary *dic = @{@"expired":@1500775905726,@"userId":@27};
NSData *dicData = [NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPrettyPrinted error:nil];
NSString *dicBase64Str = [dicData base64EncodedStringWithOptions:0];
NSString *jsonStr = [[NSString alloc] initWithData:dicData encoding:NSUTF8StringEncoding];
NSData *jsonData = [jsonStr dataUsingEncoding:NSUTF8StringEncoding];
NSString *jsonBase64Str = [jsonData base64EncodedStringWithOptions:0];
參考:
Base64編碼解碼原理詳解 http://blog.csdn.net/u013412497/article/details/51552335