字符串进行UTF-8编码会把#之类的字符一起转码问题

在开发中遇到打开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];

```

你可能感兴趣的:(字符串进行UTF-8编码会把#之类的字符一起转码问题)