在开发中遇到打开url地址有时会有中文就需要进utf-8的转码,但是有时发现连#号之类的字符也一起转码了(特意问的一下h5的同事,同事说url加"#"号是为了隐藏"#"号后面的地址),就看了一下API,发现stringByAddingPercentEscapesUsingEncoding:这个API在ios9.0就已经弃用了,用新的API就可以解决将#号转码的问题,
老API:
```
NSString *encodedString = [strUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
```
换成新的API就可以了解决问题了:
```
NSCharacterSet *charset = [NSCharacterSet characterSetWithCharactersInString:strUrl];
NSString *encodedString = [strUrl stringByAddingPercentEncodingWithAllowedCharacters:charset];
```
网友评论