1.在去年的时候遇到过一个需求就是说,服务器那边接收用户名密码时必须是base64形式的传递,所以没办法,就只能去找这方面的资料,找来找去倒是也找到了一个比较好的处理方式来处理,,纯代码码上:
编码--->以base64形势编码,
NSString *username = [[NSUserDefaults standardUserDefaults] objectForKey:@"username"];
NSString *password = [[NSUserDefaults standardUserDefaults] objectForKey:@"password"];
//编码的过程
NSData *passwordData = [password dataUsingEncoding:NSASCIIStringEncoding];
NSString *encodeResult = [passwordData base64EncodedStringWithOptions:NSDataBase64EncodingEndLineWithLineFeed];
NSString *urlStr = [NSString stringWithFormat:@"%@/GetGgbFile.aspx?username=%@&epassword=%@&filename=%@",URL_ServerHost,[Ecoding ecodingWithString:username],[Ecoding ecodingWithString:encodeResult],[Ecoding ecodingWithString:self.documentId]];
NSLog(@"%@",urlStr);
[MBProgressHUD showHUDAddedTo:self.view animated:true];
[self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:urlStr]]];
解码--->base64解码的过程
NSData* decodeData = [[NSData alloc] initWithBase64EncodedString:encodeResult options:0];
NSString* decodeStr = [[NSString alloc] initWithData:decodeData encoding:NSASCIIStringEncoding];
UTF8-->GBK
+(NSString *)ecodingWithString:(NSString *)str{
NSStringEncoding gbkEncoding = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
return [str stringByAddingPercentEscapesUsingEncoding:gbkEncoding];
}
NSString *username = [textField1.text stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]
直接这一句话就行了。是不是很简单呢?