美文网首页
NSString base64 UTF8 以及 URLEn

NSString base64 UTF8 以及 URLEn

作者: 夕W | 来源:发表于2018-01-04 16:48 被阅读0次

用到转换的地方很多  方便记忆直接上方法 

1    (1)   NSString  转换成 base64编码

 NSData * data  =  [ @" test  string "   dataUsingEncoding:NSUTF8StringEncoding];

 NSString* newString = [data  base64EncodedStringWithOptions:0];

如果字符串内有中文 需将 NSUTF8StringEncoding  换成下面的

 NSStringEncoding testEncoding = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);

NSData * data  =  [ @" test  string "  dataUsingEncoding:testEncoding];

     (2) base64   转换到NSString

NSData *data = [[NSData alloc] initWithBase64EncodedString:@"test base64 String " options:0]; 

NSString *string =[[NSString alloc] initWithData:dataencoding:NSUTF8StringEncoding];

2   NSString 转换 UTF8   URLEncode  (常用在地址访问)

iOS 9  以前的方法不多说了 直接用   [@"test string"  stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

iOS 9 以后用的方法是 

NSString  * string =  [@"test string" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSetURLQueryAllowedCharacterSet]];

在网上还看到了个在ASIHTTPRequest 里抽出的 工具方法 贴上备用
(NSString*)encodeURL:(NSString *)teststring

{

NSString *newString = NSMakeCollectable([(NSString *)CFURLCreateStringByAddingPercentEscapes(

                                                              kCFAllocatorDefault,

                                 (CFStringRef)teststring, NULL, CFSTR(":/?#[]@!$ &'()*+,;=\"<>%{}|\\^~`"),

                       CFStringConvertNSStringEncodingToEncoding([self stringEncoding])) autorelease]);

if (newString) {

  return newString;

}

return @"";

}

解决我的问题,也希望可以解决你的问题并给我一个大大的喜欢,如有不对,欢迎指正...

end!

相关文章

网友评论

      本文标题:NSString base64 UTF8 以及 URLEn

      本文链接:https://www.haomeiwen.com/subject/imwrnxtx.html