উদ্দেশ্য-সি For
NSString *str = ...; // some URL
NSCharacterSet *set = [NSCharacterSet URLHostAllowedCharacterSet];
NSString *result = [str stringByAddingPercentEncodingWithAllowedCharacters:set];
এনএসইউটিএফ 8 স্ট্রিংএইনকোডিংয়ের জন্য সেটটি কোথায় পাবেন?
ছয়টি ইউআরএল উপাদান এবং উপ-উপাদানগুলির জন্য পূর্বনির্ধারিত অক্ষর সেট রয়েছে যা শতাংশ এনকোডিংয়ের অনুমতি দেয়। এই চরিত্র সেটগুলিতে প্রেরণ করা হয় -stringByAddingPercentEncodingWithAllowedCharacters:
।
// Predefined character sets for the six URL components and subcomponents which allow percent encoding. These character sets are passed to -stringByAddingPercentEncodingWithAllowedCharacters:.
@interface NSCharacterSet (NSURLUtilities)
+ (NSCharacterSet *)URLUserAllowedCharacterSet;
+ (NSCharacterSet *)URLPasswordAllowedCharacterSet;
+ (NSCharacterSet *)URLHostAllowedCharacterSet;
+ (NSCharacterSet *)URLPathAllowedCharacterSet;
+ (NSCharacterSet *)URLQueryAllowedCharacterSet;
+ (NSCharacterSet *)URLFragmentAllowedCharacterSet;
@end
অবমূল্যায়নের বার্তাটি বলেছে (জোর দেওয়া আমার):
পরিবর্তে স্ট্রিংবাইএডিংপিয়েন্টসইনকোডিং উইথঅ্যালয়েডচ্যার্যাক্টর (_ :) ব্যবহার করুন, যা সর্বদা প্রস্তাবিত ইউটিএফ -8 এনকোডিং ব্যবহার করে এবং যে কোনও ইউআরএল উপাদান বা সাবকমম্পোনেন্টের জন্য এনকোড থাকে তাই প্রতিটি ইউআরএল উপাদান বা সাব-কম্পোনেন্টে অক্ষরগুলি বৈধ হওয়ার জন্য বিভিন্ন বিধি রয়েছে।
সুতরাং আপনার কেবল NSCharacterSet
যুক্তি হিসাবে পর্যাপ্ত সরবরাহ করতে হবে । ভাগ্যক্রমে, ইউআরএলগুলির জন্য খুব সহজে একটি শ্রেণিবদ্ধ পদ্ধতি বলা হয় URLHostAllowedCharacterSet
যা আপনি এটির মতো ব্যবহার করতে পারেন:
NSCharacterSet *set = [NSCharacterSet URLHostAllowedCharacterSet];
সচেতন থাকুন, যদিও:
এই পদ্ধতিটি কোনও ইউআরএল উপাদান বা উপ-কম্পোনেন্ট স্ট্রিংকে শতাংশ-এনকোড করার উদ্দেশ্যে তৈরি করা হয়েছে, পুরো URL স্ট্রিং নয়।
NSURLComponents
, যা আপনার পক্ষে শতাংশ-এনকোডিং পরিচালনা করতে পারে।