Как правильно закодировать URL (URL encode) в Swift для iOS?
مرحباً بالجميع! أنا مبتدئ في Swift وتطوير iOS، واجهت مشكلة في ترميز URL. أحتاج إلى إرسال طلب GET إلى API يقبل معاملات في سلسلة الاستعلام. أحد المعاملات هو سلسلة تحتوي على أحرف سيريلية ورموز خاصة (مثلاً، "Привет, мир! & тест").
حاولت استخدام `addingPercentEncoding(withAllowedCharacters:)`، لكن لم أنجح. إليك الكود الذي كتبته:
```swift
let baseURL = "https://api.example.com/search"
let query = "Привет, мир! & тест"
let encodedQuery = query.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)
let fullURL = "\(baseURL)?q=\(encodedQuery)"
print(fullURL)
```
لكن في وحدة التحكم أرى أن المسافات تتحول إلى `%20`، بينما يبقى الرمز `&` كما هو. ونتيجة لذلك، لا يقوم الخادم بتحليل الطلب بشكل صحيح، وأتلقى خطأ. في التوثيق مكتوب أن `urlQueryAllowed` يسمح بالرمز `&`، لكنه يفصل بين المعاملات! كيف يمكنني ترميز URL بالكامل بشكل صحيح بحيث يتم تخطي جميع الرموز الخاصة؟