, अनुक्रमण UTF8 तार से उन हतोत्साहित:जूलिया में यूटीएफ 8 स्ट्रिंग्स को इंडेक्सिंग क्यों किया जा रहा है?
# Some strings can be indexed like an array of characters
"This is a string"[1] # => 'T' # Julia indexes from 1
# However, this is will not work well for UTF8 strings,
# so iterating over strings is recommended (map, for loops, etc).
क्यों पुनरावृत्ति है इस तरह के तार से अधिक हतोत्साहित किया? विशेष रूप से इस वैकल्पिक स्ट्रिंग प्रकार की संरचना के बारे में क्या अनुक्रमण त्रुटि प्रवण बनाता है? क्या यह जूलिया विशिष्ट पिटफॉल है, या यह यूटीएफ 8 स्ट्रिंग सपोर्ट के साथ सभी भाषाओं में विस्तारित है?
के बाद से UTF-8 यूनिकोड की एक मल्टी-बाइट एन्कोडिंग, एक UTF-8 स्ट्रिंग में अनुक्रमण, या लंबाई (हो रही अक्षरों में तरह बातें इकाइयों कोड करने के लिए विरोध के रूप में के रूप में) ओ (एन) (जहां एन स्ट्रिंग का आकार है) ऑपरेशन। यदि आपको अक्सर ऐसी चीजें करने की ज़रूरत है, तो आप यूटीएफ 32 स्ट्रिंग का उपयोग करना बंद कर देंगे, और आवश्यकतानुसार यूटीएफ 8 में/से कनवर्ट करना होगा। यह जूलिया विशिष्ट पिटफॉल नहीं है, लेकिन पाइथन 3 जैसी कुछ भाषाएं यूनिकोड स्ट्रिंग्स के लिए सर्वश्रेष्ठ आंतरिक प्रतिनिधित्व चुन सकती हैं, जो स्ट्रिंग के आधार पर इंडेक्सिंग के लिए अभी भी ओ (1) हैं। –