जब मैं निम्नलिखित में जावा में कोशिश करता हूँ:
System.out.println (सिस्टम। GetProperty ("file.encoding"));
मुझे एन्कोडिंग के रूप में cp1252
मिलता है।
क्या यह पता करने का कोई तरीका है कि यह कहां मूल्य से आ रहा है? (पर्यावरण चर या कुछ चीज़ों की तरह)
मैं कमांड प्रॉम्प्ट पर एन्कोडिंग का मान कमांड जैसे विंडोज एक्सपी पर सिस्टमइन्फ़ो का उपयोग करना चाहूंगा।
सीपी 1252 एमएस विंडोज के अंग्रेज़ी इंस्टॉलेशन पर डिफ़ॉल्ट एन्कोडिंग है (माइक्रोसॉफ्ट एएनएसआई के रूप में संदर्भित करता है) जावा डिफ़ॉल्ट रूप से सिस्टम लोकेल को इसके डिफ़ॉल्ट वर्ण एन्कोडिंग के रूप में ले जाएगा। इसका मतलब क्या है प्रणाली निर्भर सामान्य तौर पर मैं डिफ़ॉल्ट एन्कोडिंग पर भरोसा करना पसंद नहीं करता। यदि मुझे पता है कि मेरा टेक्स्ट शुद्ध होगा तो मैं इसे अनदेखा कर सकता हूं - अन्यथा मैं InputStreamReader
, आउटपुटस्ट्रीम वाइटर
, स्ट्रिंग
आदि या कॉलिंग getBytes
।
ध्यान दें कि cp1252 नहीं विंडोज कमांड प्रॉम्प्ट पर डिफ़ॉल्ट एन्कोडिंग है। यही पुराना सीपी 437 है, जिसे आप chcp
कमांड का उपयोग करके देख सकते हैं (और बदल सकते हैं)।
No comments:
Post a Comment