iOS文字列共通符号化相互変換
1876 ワード
日常のネットリクエストではURLに漢字の内容があるのは避けられませんが、対応する処理をせずに文字列をそのままURLに変換してロードするのは問題があります.文字コードの基本的な知識については、ここUnicodeとUTF-8の相互回転(C言語実装)を参考にして、いくつかの一般的な変換方法のコードを整理して以下のようにして、オンライン変換のページ{ここ転送ゲート}を推薦します.
参考記事
Object-cにおけるUTF-8とGBKのNSString相互変換の方法
http://www.cnblogs.com/langtianya/p/3889012.html
特殊文字変換URLコード
http://blog.csdn.net/catandrat111/article/details/8533817
/// UTF8
NSString* strA = [@"%E4%B8%AD%E5%9B%BD" stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString *strB = [@" " stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSLog(@"%@",strA); //
NSLog(@"%@",strB); // %E4%B8%AD%E5%9B%BD
/// Unicode
NSString *content = @"\\u4e2d\\u56fd";
content = [self replaceUnicode:content];
NSLog(@"%@",content); //
- (NSString *)replaceUnicode:(NSString *)unicodeStr {
NSString *tempStr1 = [unicodeStr stringByReplacingOccurrencesOfString:@"\\u"withString:@"\\U"];
NSString *tempStr2 = [tempStr1 stringByReplacingOccurrencesOfString:@"\""withString:@"\\\""];
NSString *tempStr3 = [[@"\""stringByAppendingString:tempStr2]stringByAppendingString:@"\""];
NSData *tempData = [tempStr3 dataUsingEncoding:NSUTF8StringEncoding];
NSString* returnStr = [NSPropertyListSerialization propertyListFromData:tempData
mutabilityOption:NSPropertyListImmutable
format:NULL
errorDescription:NULL];
return [returnStr stringByReplacingOccurrencesOfString:@"\\r\
"withString:@"
"];
}
参考記事
Object-cにおけるUTF-8とGBKのNSString相互変換の方法
http://www.cnblogs.com/langtianya/p/3889012.html
特殊文字変換URLコード
http://blog.csdn.net/catandrat111/article/details/8533817