मैंने वर्षों से कुछ अच्छी प्रोग्रामिंग भाषाओं का उपयोग किया है और मैं एक आर्मचेयर भाषाविद और विकिपीडिया में योगदानकर्ता हूं। मैं कमांडलाइन से विकिपीडिया को देखने के लिए अपने कुछ टूल बना रहा हूं लेकिन मैंने एक आश्चर्यजनक समस्या में भाग लिया है।क्या कोई भाषा यूनिकोड और क्रॉस-प्लेटफ़ॉर्म को ठीक से और पूरी तरह से करती है?
Neither Perl nor Python can output Unicode to the console natively under both *nix and Windows (हालांकि विभिन्न कामकाज हैं)। मुख्य कारण यह है कि * यूटीएफ -8 में उनके यूनिकोड की तरह निक्स ओएस और विंडोज़ यूटीएफ -16 में यूनिकोड पसंद करते हैं। लेकिन ऐसा लगता है कि Windows makes it very difficult to use wide characters with the console even though both the console and wprintf are wide character native।
तो सवाल यह है कि, यदि मैं जावा, सी #, स्कैला इत्यादि में इन भाषाओं से परे दिखता हूं तो स्थिति बेहतर होती है या क्या ऐसी कोई स्क्रिप्टिंग भाषाएं हैं जो विंडोज़ पर शुरू हुईं और फिर * निक्स पर पोर्ट की गईं?
function main()
{
print(L"hello, 世界");
}
अंतिम उत्तर यह है कि किसी भी भाषा को आखिरकार 'लिखेंफाइल' के बजाय 'WriteConsoleW'' को कॉल करने की आवश्यकता होगी, एक अमूर्त बाधा तोड़ना ... इसलिए यह वास्तव में एक भाषा समस्या नहीं है, बल्कि लाइब्रेरी डिज़ाइन समस्या है। – Mehrdad
मैं जावा की जांच करने के इच्छुक हो सकता हूं, क्योंकि इसका मूल रूप से मंच स्वतंत्रता पर लक्ष्य था और स्ट्रिंग हैंडलिंग यूनिकोड के आसपास बनाया गया था। स्रोत फाइलें यूनिकोड हैं, इसलिए आपका आदर्श psuedo कोड बस कुछ tweaking के साथ संकलित हो सकता है। – Jimmy
@ मेहाड्राड: या माइक्रोसॉफ्ट संभवतः wprintf et al को ठीक कर सकता है ताकि आप बिना किसी रूपांतरण के विस्तृत वर्ण तारों को प्रिंट कर सकें, जब तक कि यह सी के wprintf या POSIX लोकेशंस या कुछ के विनिर्देशन में एक बग नहीं है? वैकल्पिक रूप से, प्रोग्रामिंग भाषाएं उनके प्रिंट फ़ंक्शन और WriteFile/WriteConsoleW या जो भी एपीआई पर भरोसा करती हैं, के बीच एक अमूर्त परत जोड़ सकती हैं। – hippietrail