कौन से चरित्र एनकोडिंग पॉज़िक्स द्वारा समर्थित हैं?


11

POSIX जैसे उपकरणों के व्यवहार को परिभाषित करता grep, awk, sed, आदि पाठ फ़ाइलों के खिलाफ जो काम करते हैं। चूंकि यह एक पाठ फ़ाइल है, मुझे लगता है कि चरित्र एन्कोडिंग की समस्या है।

सवाल:

  • POSIX द्वारा समर्थित चरित्र एनकोडिंग क्या है? (या, क्या एन्कोडिंग की पाठ फ़ाइलें POSIX संगत सिस्टम द्वारा नियंत्रित की जा सकती हैं?)

जवाबों:


19

POSIX द्वारा अनिवार्य कोई विशिष्ट वर्ण एन्कोडिंग नहीं है। एक निश्चित स्थिति में एकमात्र वर्ण शून्य है, जो 00 होना चाहिए।

POSIX को जिस चीज की आवश्यकता होती है, वह यह है कि इसके पोर्टेबल कैरेक्टर सेट से सभी वर्ण मौजूद हैं। पोर्टेबल कैरेक्टर सेट में मुद्रण योग्य ASCII वर्ण, स्पेस, बीईएल, बैकस्पेस, टैब, कैरिज रिटर्न, न्यूलाइन, वर्टिकल टैब, फॉर्म फीड और नल शामिल हैं। इसके अलावा कहां या कैसे एन्कोड किए गए हैं, यह निर्दिष्ट नहीं है:

  • वे सभी एक ही बाइट (8 बिट) हैं।
  • शून्य का प्रतिनिधित्व सभी बिट्स शून्य के साथ किया जाता है।
  • 0-9 अंक उस क्रम में सन्निहित दिखाई देते हैं।

यह पात्रों के प्रतिनिधित्व पर कोई अन्य प्रतिबंध नहीं लगाता है, इसलिए एक अनुरूप प्रणाली उन वर्णों के किसी भी प्रतिनिधित्व के साथ एन्कोडिंग का समर्थन करने के लिए स्वतंत्र है, और इसके अलावा किसी भी अन्य वर्ण।

एक ही सिस्टम पर विभिन्न स्थानों में .और /, और के अपवाद के साथ उन वर्णों के अलग-अलग प्रतिनिधित्व हो सकते हैं

यदि कोई एप्लिकेशन उन स्थानों की किसी जोड़ी का उपयोग करता है, जहां वर्ण एन्कोडिंग भिन्न होते हैं, या किसी अनुप्रयोग का डेटा एक्सेस करते हैं, जिसमें किसी लोकेल का उपयोग होता है, जिसमें एप्लिकेशन द्वारा उपयोग किए गए स्थानों से अलग-अलग एन्कोडिंग होते हैं, तो परिणाम अनिर्दिष्ट होते हैं।

सभी POSIX- कंप्लेंट सिस्टम को एक ही तरह से ट्रीट करने के लिए जिन फाइलों की आवश्यकता होती है, वे फाइलें हैं जो पूरी तरह से नल बाइट्स से युक्त होती हैं। पाठ के रूप में व्यवहार की जाने वाली फाइलें पीसीएस की न्यूलाइन कैरेक्टर के एन्कोडिंग के प्रतिनिधित्व द्वारा अपनी लाइनें समाप्त कर देती हैं


5

POSIX मानक एक POSIX लोकेल पेश करता है, जिसमें ASCII वर्णों के लिए ASCII (POSIX Base परिभाषाएँ .37.3.2) के रूप में एक ही क्रम निर्धारित होता है।

इसके अलावा, उन प्रणालियों पर जहां प्रतीकात्मक स्थिरांक POSIX2_LOCALEDEFको परिभाषित किया गया है (जिसे XSI-अनुरूप प्रणाली के लिए परिभाषित किया जाएगा, और इसके माध्यम से परीक्षण किया जा सकता है getconf POSIX2_LOCALEDEF), सिस्टम localedefउपयोगिता का उपयोग कर नए स्थानों के निर्माण का समर्थन करता है , और POSIX बेस में निर्दिष्ट के रूप में स्थानीय परिभाषाएँ। परिभाषाएँ §7.3।

POSIX लोकेल परिभाषाएँ यूनिकोड मान द्वारा निर्दिष्ट वर्णों का समर्थन नहीं करती हैं, नए मानक हैं, जैसे ISO / IEC TR 14652 ( ISO / IEC JTC1 / SC22 / WG20 घर पर उपलब्ध ), और ISO TR 30112 (ड्राफ्ट पर उपलब्ध) आईएसओ / आईईसी जेटीसी 1 / एससी 35 / डब्ल्यूजी 5 होम ) जो आईएसओ / आईईसी टीआर 14652 का पालन करता है।

अन्य संबंधित मानक आईएसओ 14651 ( आईएसओ आईटीटीएफ साइट पर उपलब्ध हैं ) और यूनिकोड कोलाज एल्गोरिथम (यूसीए, यूनिकोड यूटीएस # 10) हैं

यूनिकोड :: संघर्ष CPAN पर पर्ल मॉड्यूल कई यूनिक्स उपयोगिताओं के यूनिकोड पुनर्लेखन भी शामिल है। सेड और ऑक स्क्रिप्ट और वन-लाइनर्स यूनिकोड समर्थन के लिए पर्ल में फिर से लिखे जा सकते हैं।

Glibc के लिए, घटक localedata के लिए बगजिला प्रविष्टियों विभिन्न स्थानों की स्थिति के एक दृश्य प्रदान कर सकते हैं।


3
ध्यान दें कि POSIX लोकेल ऑर्डर वास्तविक एन्कोडिंग प्रतिनिधित्व के बजाय ASCII से मेल खाते हुए कोलाजेशन ऑर्डर को परिभाषित करता है ।
माइकल होमर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.