मैं एक webservice लिख रहा हूँ जो अपने संसाधनों का प्रतिनिधित्व करने के लिए json का उपयोग करता है, और मैं json को एन्कोड करने के सर्वोत्तम तरीके के बारे में सोचकर थोड़ा अटक गया हूं। Json rfc ( http://www.ietf.org/rfc/rfc4627.txt ) पढ़ना यह स्पष्ट है कि पसंदीदा एन्कोडिंग utf-8 है। लेकिन rfc वर्णों को निर्दिष्ट करने के लिए एक स्ट्रिंग एस्केपिंग तंत्र का भी वर्णन करता है। मुझे लगता है कि यह आम तौर पर गैर-अस्की पात्रों से बचने के लिए उपयोग किया जाता है, जिससे परिणामी utf-8 वैध आस्की बनती है।
तो मान लें कि मेरे पास एक जस स्ट्रिंग है जिसमें यूनिकोड वर्ण (कोड-पॉइंट) हैं जो गैर-एससीआई हैं। क्या मेरा webservice सिर्फ utf-8 को एन्कोडिंग करता है और इसे वापस करना चाहिए, या क्या यह उन सभी गैर-अस्सी के पात्रों से बचना चाहिए और शुद्ध अस्की वापस करना चाहिए?
मुझे लगता है कि ब्राउज़र jsonp या eval का उपयोग करके परिणामों को निष्पादित करने में सक्षम होना चाहते हैं। क्या इससे निर्णय प्रभावित होता है? Utf-8 के लिए विभिन्न ब्राउज़र की जावास्क्रिप्ट समर्थन के बारे में मेरी जानकारी में कमी है।
संपादित करें: मैं स्पष्ट करना चाहता था कि परिणामों को एन्कोड करने के बारे में मेरी मुख्य चिंता वास्तव में परिणामों के ब्राउज़र हैंडलिंग के बारे में है। मैंने जो पढ़ा है वह बताता है कि ब्राउज़र विशेष रूप से JSONP का उपयोग करते समय एन्कोडिंग के प्रति संवेदनशील हो सकते हैं। मुझे इस विषय पर कोई बहुत अच्छी जानकारी नहीं मिली है, इसलिए मुझे देखना होगा कि क्या होता है। आदर्श रूप से मैं केवल उन कुछ वर्णों से बचना चाहूंगा जो आवश्यक हैं और सिर्फ utf-8 परिणामों को कूटबद्ध करते हैं।