在任何 URL 中,您都可以使用特殊字符,例如 * ? & ~ : / *
很快,如果还没有,强调字符
我想要的是将任何 url 转换为最接近纯 ASCII 字符的等价物,
然后用 _ 替换任何剩余的特殊字符
我已经通过网络上的许多示例尝试了这个看起来和鼓舞人心的 myslef,但它不起作用(例如,使用此代码,字符“é”不会转换为“e” @"http://www.mélange.fr/~fermer.php?aa=10&ee=13"
)
NSMutableCharacterSet *charactersToKeep = [NSMutableCharacterSet alphanumericCharacterSet];
[charactersToKeep addCharactersInString:@"://&=~?"];
NSCharacterSet* charactersToRemove = [charactersToKeep invertedSet];
myNSString = [[[myNSString decomposedStringWithCanonicalMapping] componentsSeparatedByCharactersInSet:charactersToRemove] componentsJoinedByString:@""];
to start, after I will have to convert remaining special characters with _
我怎样才能做到这一点?
作为示例(并且仅作为示例),我想转换:
http://www.mélange.fr/~fermer.php?aa=10&ee=13
到
http___www.melange.fr__fermer_php_aa_10_ee_13
当然不必一一检查每个可能的特殊或重音字符。