在實(shí)際的開發(fā)中,遇到了些問題,就是一個(gè)帶中文的字符串,怎么轉(zhuǎn)UTF-8的問題。
這個(gè)字符串是“788中國%”,我想到?jīng)]想,就這樣做了
NSString*str3 = [str1 stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
然后轉(zhuǎn)出來是nil,這不是我們想要的。發(fā)現(xiàn)只要有%包含,都會(huì)返回nil。
嘗試了很多方法,最后嘗試使用了如下方法。先轉(zhuǎn)為utf-8的字符類型,再轉(zhuǎn)成字符串,問題就解決了
const char *wNameChar = [self.wifiName cStringUsingEncoding:NSUTF8StringEncoding];
const char *wPassdChar = [self.wifiPass cStringUsingEncoding:NSUTF8StringEncoding];
NSString *currentName = [[NSString alloc] initWithUTF8String:wNameChar];
NSString *currentPassword = [[NSString alloc] initWithUTF8String:wPassdChar];