ios - iOS 7+ 中的 Base64 解码

我已经使用 NSData 对文本(NSString)进行了编码,该类新 API 是在 iOS7 中添加的。

使用这个

- (NSData *)dataUsingEncoding:(NSStringEncoding)encoding;  

这是我的代码

NSString *base64EncodedString = [[myText dataUsingEncoding:NSUTF8StringEncoding] base64EncodedStringWithOptions:0];

NSLog(@"%@", base64EncodedString);

我正在寻找解码它

最佳答案

swift 3+

let plainString = "foo"

编码

let plainData = plainString.data(using: .utf8)
let base64String = plainData?.base64EncodedString()
print(base64String!) // Zm9v

解码

if let decodedData = Data(base64Encoded: base64String!),
   let decodedString = String(data: decodedData, encoding: .utf8) {
  print(decodedString) // foo
}

swift
let plainString = "foo"

编码

let plainData = plainString.dataUsingEncoding(NSUTF8StringEncoding)
let base64String = plainData?.base64EncodedStringWithOptions(NSDataBase64EncodingOptions(rawValue: 0))
print(base64String!) // Zm9v

解码

let decodedData = NSData(base64EncodedString: base64String!, options: NSDataBase64DecodingOptions(rawValue: 0))
let decodedString = NSString(data: decodedData, encoding: NSUTF8StringEncoding)
print(decodedString) // foo

objective-C

NSString *plainString = @"foo";

编码

NSData *plainData = [plainString dataUsingEncoding:NSUTF8StringEncoding];
NSString *base64String = [plainData base64EncodedStringWithOptions:0];
NSLog(@"%@", base64String); // Zm9v

解码

NSData *decodedData = [[NSData alloc] initWithBase64EncodedString:base64String options:0];
NSString *decodedString = [[NSString alloc] initWithData:decodedData encoding:NSUTF8StringEncoding];
NSLog(@"%@", decodedString); // foo 

https://stackoverflow.com/questions/19088231/

相关文章:

ios - 尝试将非属性列表对象设置为 NSUserDefaults

objective-c - 项目构建中的 CocoaPods 错误

ios - 具有 UITapGestureRecognizer 的 View 中的 UIButton

ios - 在 Objective-C 中检查空字符串的正确方法是什么?

objective-c - Objective-C 中的方法语法

objective-c - Objective-C 中的 NULL 与 nil

ios - 在没有 UITableViewController 的情况下拉取刷新 UITableVi

ios - 从 UIView 到 UIViewController?

ios - 动态改变UILabel的字体大小

objective-c - 如何等待异步调度的 block 完成?