चूंकि लैटिन -1 (उर्फ आईएसओ -885 9 -1) वर्ण सेट यूनिकोड चरित्र सेट में सबसे कम 256 कोड-पॉइंट के रूप में सेट किया गया है, तो मुझे उम्मीद है कि रूपांतरण छोटा हो गया, लेकिन मुझे Data.Text.Encoding
में कोई लैटिन -1 एन्कोडिंग रूपांतरण फ़ंक्शन नहीं मिला, जिसमें सामान्य यूटीएफ एन्कोडिंग के लिए केवल रूपांतरण फ़ंक्शन शामिल हैं।लैटिन 1-एन्कोडेड डेटा के बीच कनवर्ट करें। बाइटस्ट्रिंग और डेटा। टेक्स्ट
लैटिन -1 प्रतिनिधित्व और Data.Text
मानों में एन्कोड किए गए मान Data.ByteString
मानों के बीच कनवर्ट करने के लिए अनुशंसित और/या कुशल तरीका क्या है?
वैसे, यह धारणा है कि "चूंकि लैटिन -1 वर्ण सेट यूनिकोड चरित्र में सबसे कम 256 कोड-पॉइंट के रूप में सेट किया गया है, इसलिए मैं रूपांतरण को छोटा होने की उम्मीद करता हूं" अनचाहे है। उम्मीद करने का कोई कारण नहीं है कि दो अलग-अलग एन्कोडिंग में एक कोडपॉइंट स्ट्रीम एन्कोडिंग के परिणामस्वरूप बाइटस्ट्रीम एक-दूसरे के साथ एक छोटा सा संबंध होना चाहिए। –
@DanielWagner: हाँ, मुझे पता है कि सामान्य मामले में मुझे इसकी उम्मीद नहीं करनी चाहिए (उदाहरण के लिए यदि 'Data.Text' ने यूटीएफ 8 को अपने आंतरिक यूनिकोड प्रतिनिधित्व के रूप में उपयोग किया), लेकिन' Data.Text' का वर्तमान संस्करण पुस्तकालय यूटीएफ 16 प्रतिनिधित्व का उपयोग करता है, जिसके लिए लैटिन 1 का रूपांतरण वास्तव में एक छोटा रूपांतरण है जिसमें शून्य या ऑक्टेट्स डालने में शामिल होता है (प्रत्येक यूटीएफ 16LE या यूटीएफ 16 बीई की आवश्यकता होती है) प्रत्येक लैटिन 1 ऑक्टेट। – hvr