क्या जावास्क्रिप्ट के एनकोडुरि फ़ंक्शन के लिए कोई वैध उपयोग है?एनकोडुरि का कभी भी उपयोग किया जाना चाहिए?
जहां तक मेरा बता सकते हैं, जब आप एक HTTP अनुरोध या तो आप चाहिए बनाने की कोशिश कर रहे हैं:
- एक पूरा यूआरआई
- कुछ टुकड़ा आप एक URI, जो या तो है में डाल करना चाहते हैं एक यूनिकोड स्ट्रिंग या यूटीएफ -8 बाइट अनुक्रम
पहले मामले में, स्पष्ट रूप से अनुरोध करने के लिए कुछ भी करने की आवश्यकता नहीं है। नोट: यदि आप वास्तव में इसे पैरामीटर (उदा? Url = http ...) के रूप में पास करना चाहते हैं तो आपके पास वास्तव में दूसरे मामले का एक उदाहरण है जो यूआरआई की तरह दिखता है।
दूसरे मामले में, आप हमेशा एक यूनिकोड स्ट्रिंग UTF-8 में तब्दील करना चाहिए, और फिर एक यूआरआई में जोड़ने से पहले सभी अक्षरों से बचने के encodeURIComponent कहते हैं। (यदि आपके पास यूनिकोड स्ट्रिंग के बजाय यूटीएफ -8 बाइट अनुक्रम है तो आप कन्वर्ट-टू-यूटीएफ 8 चरण को छोड़ सकते हैं)।
मान लीजिए कि मुझे कुछ भी याद आया है, मैं एन्कोडुरि के लिए वैध उपयोग नहीं देख सकता। यदि आप इसका उपयोग करते हैं, तो संभवतः आपने एक अवैध यूआरआई बनाया है और फिर तथ्य के बाद इसे "स्वच्छता" करने का प्रयास किया है, जो कि संभव नहीं है क्योंकि आप नहीं जानते कि कौन से पात्रों का शाब्दिक इरादा था, और जो बचने का इरादा रखते थे ।
मैंने भागने() का उपयोग करने के खिलाफ बहुत सी सलाह देखी है, लेकिन किसी को भी एन्कोडुरि को हतोत्साहित नहीं करते हैं। क्या मुझे वैध उपयोग याद आ रहा है?
"कुछ खंड जो आप यूआरआई में रखना चाहते हैं", मुझे विश्वास है, जिसे "यूआरआई घटक" कहा जा सकता है। "दूसरे मामले में, आपको हमेशा एक यूनिकोड स्ट्रिंग को यूटीएफ -8 में परिवर्तित करना चाहिए" - जावास्क्रिप्ट में नहीं। 'encodeURIComponent' स्वचालित रूप से स्ट्रिंग को यूटीएफ -8 में परिवर्तित कर देगा (और' decodeURIComponent' यूटीएफ -8 ऑक्टेट्स को वापस यूनिकोड वर्णों में परिवर्तित करेगा)। – mgiuca