快速編碼URL如果我像這樣編碼一個字符串:var escapedString = originalString.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)它逃不出斜杠/.我搜索并找到了這個目標C代碼:NSString *encodedString = (NSString *)CFURLCreateStringByAddingPercentEscapes(
NULL,
(CFStringRef)unencodedString,
NULL,
(CFStringRef)@"!*'();:@&=+$,/?%#[]",
kCFStringEncodingUTF8 );是否有一種更簡單的方式來編碼一個URL,如果不是,我如何用SWIFT寫這個呢?
3 回答

皈依舞
TA貢獻1851條經驗 獲得超3個贊
SWIFT 3
addingPercentEncoding
let originalString = "test/test"let escapedString = originalString.addingPercentEncoding(withAllowedCharacters: .urlHostAllowed)print(escapedString!)
測試%2 Ftest
SWIFT 1
stringByAddingPercentEncodingWithAllowedCharacters
var originalString = "test/test"var escapedString = originalString.stringByAddingPercentEncodingWithAllowedCharacters (.URLHostAllowedCharacterSet())println("escapedString: \(escapedString)")
測試%2 Ftest
URLFragmentAllowedCharacterSet "#%<>[\]^`{|} URLHostAllowedCharacterSet "#%/<>?@\^`{|}URLPasswordAllowedCharacterSet "#%/:<>?@[\]^`{|} URLPathAllowedCharacterSet "#%;<>?[\]^`{|}URLQueryAllowedCharacterSet "#%<>[\]^`{|} URLUserAllowedCharacterSet "#%/:<>?@[\]^`
var originalString = "test/test=42"var customAllowedSet = NSCharacterSet(charactersInString:"=\"#%/<>?@\\^`{|}"). invertedSetvar escapedString = originalString.stringByAddingPercentEncodingWithAllowedCharacters(customAllowedSet)println ("escapedString: \(escapedString)")
測試%2 Ftest%3D42
func printCharactersInSet(set: NSCharacterSet) { var characters = "" let iSet = set.invertedSet for i: UInt32 in 32..<127 { let c = Character(UnicodeScalar(i)) if iSet.longCharacterIsMember(i) { characters = characters + String(c) } } print("characters not in set: \'\(characters)\'")}
- 3 回答
- 0 關注
- 769 瀏覽
添加回答
舉報
0/150
提交
取消