में कनवर्ट करने का सबसे आसान तरीका सी में एक यूटीएफ -8 बाइट अनुक्रम में यूनिकोड कोडपॉइंट को परिवर्तित करने का सबसे आसान तरीका क्या है? यूटीएफ -32LE कोडपेज से यूटीएफ -8 तक मैप करने के लिए iconv
का उपयोग करने का एकमात्र तरीका है, लेकिन यह ओवरकिल जैसा लगता है।यूनिकोड कोडपॉइंट को यूटीएफ -8
उत्तर
यूनिकोड रूपांतरण एक आसान काम नहीं है। Iconv का उपयोग करना मेरे लिए बिल्कुल अधिक नहीं लग रहा है। शायद आइकनवी का एक लाइब्रेरी संस्करण है जिसका उपयोग आप सिस्टम() कॉल से बचने के लिए कर सकते हैं, अगर आप यही टालना चाहते हैं।
मैं पहले से ही लाइब्रेरी का उपयोग करने की योजना बना रहा था। –
इस दिशा के लिए, यह एक बेहद सरल काम है। कोई पुस्तकालय की आवश्यकता नहीं है। साथ ही, 'iconv' दोनों को एक सी इंटरफ़ेस और POSIX में उपयोगिता प्रोग्राम दोनों को संदर्भित करता है। मुझे संदेह है कि ओपी सी इंटरफ़ेस के बारे में बात कर रहा था, जो इसके लिए एक बहुत अच्छा विकल्प होगा, लेकिन इसे स्वयं लिखना भी मुश्किल नहीं है। यह दूसरी दिशा है (यूटीएफ -8 को कोडपॉइंट्स) जो गड़बड़ करना आसान है। –
यूटीएफ 8 एनकोडेड बाइट्स के उच्चतम बिट्स में एन्कोडेड कोडपॉइंट की लंबाई को कोड करके काम करता है। http://en.wikipedia.org/wiki/UTF-8#Description
मुझे सी में यह छोटा फ़ंक्शन http://www.deanlee.cn/programming/convert-unicode-to-utf8/ मिला, हालांकि इसका परीक्षण नहीं किया गया।
ध्यान दें कि यह कोड केवल 0x10000 के तहत कोड बिंदुओं को संभालता है (चूंकि विंडोज़ पर wchar_t वास्तव में यूटीएफ -16 है)। –
वापस मशीन में कोड से लिंक करें: http://web.archive.org/web/20100305210636/http://www.deanlee.cn/programming/convert-unicode-to-utf8/ – Eloff
क्या मैं ICU सुझा सकता हूं? यह i18n मुद्दों को संभालने का एक उचित "उद्योग मानक" तरीका है।
मैंने स्वयं सी संस्करण का उपयोग नहीं किया है, लेकिन मुझे संदेह है कि ucnv_fromUnicode आपके द्वारा किए जाने वाले फ़ंक्शन हो सकता है।
मैं नहीं जा रहा हूं इस कार्य के लिए गैर-सिस्टम-प्रदान की गई पुस्तकालयों के एक नए सेट पर निर्भरताएं लागू करें। फिर भी सुझाव के लिए धन्यवाद। –
- 1. यूनिकोड (यूटीएफ -8) कोडपॉइंट को बाइट्स
- 2. यूनिकोड से यूटीएफ -8
- 3. यूनिकोड, यूटीएफ -8 और विंडोज मैस
- 4. वेब क्लाइंट यूनिकोड - कौन सा यूटीएफ 8?
- 5. यूटीएफ -8
- 6. यूटीएफ -8 स्ट्रिंग को यूनिकोड में कैसे परिवर्तित करें?
- 7. इनपुट एन्कोडिंग: यूटीएफ -8
- 8. विंडोज़ में यूटीएफ -8
- 9. यूटीएफ -8 विशेष वर्ण
- 10. मैं यूटीएफ 8 फ़ाइल
- 11. यूटीएफ -8
- 12. यूटीएफ -8
- 13. यूटीएफ -8
- 14. यूटीएफ -16 यूनिकोड वर्णों को जावा
- 15. यूटीएफ -8
- 16. यूटीएफ -8
- 17. यूटीएफ -8
- 18. यूटीएफ -8
- 19. यूटीएफ -8
- 20. जावा पढ़ना यूनिकोड/यूटीएफ -8 फाइलनाम (सामग्री नहीं)
- 21. पाइथन/Django में यूनिकोड बनाम यूटीएफ -8 भ्रम?
- 22. यूनिकोड से यूटीएफ -8 से डिग्री प्रतीक अलग क्यों है?
- 23. लैटिन 1 को यूटीएफ 8
- 24. एन्कोडिंग 'यूटीएफ -8' जावा रनटाइम
- 25. जावा यूटीएफ -8 अजीब व्यवहार
- 26. जेवीएम संपत्ति -डिफाइल.एन्कोडिंग = यूटीएफ 8 या यूटीएफ -8?
- 27. यूटीएफ -8 बनाम लैटिन 1 mysql, यूटीएफ -8
- 28. यूटीएफ -8 एन्कोडिंग
- 29. स्विफ्ट_Mailer + symfony यूटीएफ -8
- 30. यूटीएफ -8 स्ट्रिंग
मैं वैसे भी आइकनव के साथ जा रहा था। यह ओवरकिल की तरह प्रतीत हो सकता है, लेकिन यह बाहरी निर्भरताओं को पेश किए बिना एकमात्र वास्तविक समाधान की तरह लगता है। –
तो क्यों @ जेस्पर के जवाब को स्वीकार न करें और इसे ऊपर उठाएं। – tvanfosson
मैंने सोचा कि "अब प्रासंगिक नहीं है" जब किसी उत्पाद में एक बग तय किया जाता है, या बेहतर टूल पेश किया जाता है, न कि जब प्रश्नकर्ता उत्तर में दिलचस्पी नहीं लेता है ... –