programing

iOS 7+에서의 Base64 디코딩

elecom 2023. 4. 13. 20:31
반응형

iOS 7+에서의 Base64 디코딩

인코딩된 텍스트가 있습니다(NSString)의 사용NSDataiOS7에 추가된 새로운 API 클래스.

이것을 사용하여

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

여기 내 코드가 있다.

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

NSLog(@"%@", base64EncodedString);

나는 그것을 해독하려고 하고 있다.

스위프트 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
}

스위프트 < 3

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

목표-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 

폴백 코드를 쓰고 싶은 경우, base64로부터의 디코딩은 처음부터 iOS에 존재해 왔습니다.NSURL:

NSURL *URL = [NSURL URLWithString:
      [NSString stringWithFormat:@"data:application/octet-stream;base64,%@",
           base64String]];

return [NSData dataWithContentsOfURL:URL];

언급URL : https://stackoverflow.com/questions/19088231/base64-decoding-in-ios-7

반응형