पाइथन की स्मृति में यूनिकोड स्ट्रिंग का शाब्दिक रूप से प्रतिनिधित्व कैसे किया जाता है?पायथन में आंतरिक रूप से यूनिकोड का प्रतिनिधित्व कैसे किया जाता है?
उदाहरण के लिए मैं 'abc'
मेमोरी में इसके समकक्ष ASCII बाइट्स के रूप में कल्पना कर सकता हूं। इंटीजर को 2 के प्रशंसा प्रतिनिधित्व के रूप में सोचा जा सकता है। हालांकि u'\u2049'
, भले ही UTF-8
में '\xe2\x81\x89'
- 3 बाइट्स के रूप में प्रतिनिधित्व किया गया है, मैं स्मृति में शाब्दिक u'\u2049'
कोडपॉइंट को कैसे देखूं?
क्या स्मृति में संग्रहीत एक विशिष्ट तरीका है? क्या पाइथन 2 और पायथन 3 इसका अलग-अलग व्यवहार करते हैं? किसी को भी उत्सुक के लिए
कुछ संबंधित प्रश्नों:
1) How are these strings represented internally in Python interpreter ? I don't understand
2) What is internal representation of string in Python 3.x
यह जानने के लिए कि क्या आपके पास "संकीर्ण" (यूसीएस 2) या "चौड़ा" (यूसीएस 4) निर्माण है, sys.maxunicode की जांच करें। 65535 का अर्थ संकीर्ण है, 1114111 का मतलब चौड़ा है। –
मुझे तकनीकी रूप से लगता है, यह यूटीएफ -16 या यूटीएफ -32 है, यूसीएस 2 या यूसीएस 4 नहीं, क्योंकि सरोगेट जोड़े को संकीर्ण बिल्डों में उपयोग किया जाता है, जिससे इसे यूटीएफ -16 बना दिया जाता है। –
@NedBatchelder: वास्तव में, यह सुनिश्चित नहीं है कि दस्तावेज़ अभी भी यूसीएस का उपयोग करने के लिए क्यों चिपक रहा है। –