반응형
iOS 7 이상에서 Base64 디코딩
iOS7에 추가 된 Class new API를 NSString
사용하여 text ( )를 인코딩 NSData
했습니다.
이것을 사용하여
- (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
반응형
'Programming' 카테고리의 다른 글
JSP로 URL에서 매개 변수를 얻는 방법 (0) | 2020.05.17 |
---|---|
Oracle에서 테이블 이름의 최대 길이는 얼마입니까? (0) | 2020.05.17 |
고정 너비로 HTML 버튼의 텍스트를 줄 바꿈하는 방법은 무엇입니까? (0) | 2020.05.17 |
jquery-ui-dialog-대화 상자 닫기 이벤트에 연결하는 방법 (0) | 2020.05.17 |
OS X“El Capitan”에 gem을 설치할 수 없습니다 (0) | 2020.05.17 |