1. 程式人生 > >iOS-NSString-Base64String-Base64原理

iOS-NSString-Base64String-Base64原理

複製程式碼
 1     NSString  * sourceString = @"test";
 2     
 3     NSString *base64String = [[sourceString dataUsingEncoding:NSUTF8StringEncoding] base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
 4     
 5 //    大概是這個樣子的
 6 //    NSData * strData = [sourceString dataUsingEncoding:NSUTF8StringEncoding];
7 // NSString * base64StringT = [strData base64EncodedStringWithOptions:NSDataBase64EncodingEndLineWithLineFeed]; 8 9 10 NSLog(@"%@",base64String); 11 12 13 NSString * restoreString = [[NSString alloc]initWithData:[[NSData alloc] initWithBase64EncodedString:base64String options:NSDataBase64DecodingIgnoreUnknownCharacters] encoding:NSUTF8StringEncoding];
14 // 大概是這個樣子的 15 // NSData * baseStrData = [[NSData alloc] initWithBase64EncodedString:base64String options:NSDataBase64DecodingIgnoreUnknownCharacters]; 16 // NSString * restoreStringT = [[NSString alloc]initWithData:baseStrData encoding:NSUTF8StringEncoding]; 17 18 NSLog(@"%@",restoreString);
複製程式碼

上面程式碼中有兩個引數“Options”,一個是EnCode,一個是DeCode,其中DeCode就一個可選,EnCode有4個,選擇哪一個都行,目前我發現,各個引數僅是打印出來後的樣式不一樣,內容一樣,應該是為了方便列印debug而設定的(個人猜測,很可能不對)。

Base64原理這裡粗略的講一下,表格不太好弄,我就直接圖片了,加一個文件下載地址:點我下載文件