let originalString = "http://www.ihtc.cc?name=htc&title=iOS开发工程师"
1. encodingQuery:
let escapedString = originalString.addingPercentEncoding(withAllowedCharacters:NSCharacterSet.urlQueryAllowed)
результат:
"http://www.ihtc.cc?name=htc&title=iOS%E5%BC%80%E5%8F%91%E5%B7%A5%E7%A8%8B%E5%B8%88"
2. encodingURL:
let escapedString = originalString.addingPercentEncoding(withAllowedCharacters: .urlHostAllowed)
результат:
"http:%2F%2Fwww.ihtc.cc%3Fname=htc&title=iOS%E5%BC%80%E5%8F%91%E5%B7%A5%E7%A8%8B%E5%B8%88"
Исключением является тот факт, что у вас есть два вложенных цикла for, и вы увеличиваете k
во внутреннем цикле , даже не сбрасывая его, поэтому он становится выше 131071. 112]
Однако, этот код не будет делать то, что вы хотите, даже если вы это исправите. Вам нужно сделать шаг назад и подумать, как именно вы хотите обнаруживать дубликаты.
Кроме того, я бы рекомендовал не жестко кодировать одно и то же целочисленное значение в нескольких местах. У вас есть опечатка, которая делает ваш код нефункциональным, и этого можно было бы избежать, если бы вы присвоили int переменной и использовали эту переменную в нескольких местах.