GBK编码,解码。以及,有关url中文转码!

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];

}

上述在编码转换url时,将utf8转为GBK形式,这是一个封装的方法,直接调这个方法即可。传一个字符串,出来一个转换后的。





2.如果请求的url包涵中文,怎么办?那么这时候就需要去给他转换成utf8形式的了。

NSString *username = [textField1.text stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]

直接这一句话就行了。是不是很简单呢?
好了,搞定!


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值