2011-11-28 8 views
6

कई समस्याओं मैं अजगर में में भाग लिया है यूनिकोड में कुछ नहीं होने से संबंधित की है। क्या यूनिकोड का डिफ़ॉल्ट रूप से उपयोग करने का कोई अच्छा कारण नहीं है? मुझे एएससीआईआईआई में कुछ अनुवाद करने की आवश्यकता है, लेकिन यह अपवाद प्रतीत होता है और नियम नहीं।क्या कोई अच्छा कारण है कि स्ट्रिंग के विपरीत यूनिकोड का उपयोग न करें?

मैं अजगर 3 सभी स्ट्रिंग्स के लिए यूनिकोड का उपयोग करता है पता है। क्या यह मुझे डेवलपर के रूप में unicode() मेरे सभी तारों के लिए प्रोत्साहित करना चाहिए?

उत्तर

6

आम तौर पर, मैं "नहीं" कहने जा रहा हूं stringunicode पर उपयोग करने का कोई अच्छा कारण नहीं है। याद रखें, साथ ही, आप एक यूनिकोड स्ट्रिंग बनाने के लिए unicode() कॉल करने के लिए की जरूरत नहीं है, आप एक लोअरकेस यू चाहते u"this is a unicode string" के साथ स्ट्रिंग लगाकर करके कर सकते हैं।

+1

धन्यवाद, मैं तो बस अब से कर रही शुरू करेंगे। –

4

पायथन 2.x में:

  • एक str वस्तु मूल रूप से सिर्फ बाइट्स का क्रम है।
  • एक unicode वस्तु पात्रों का क्रम है।

यह जानने के बाद, यह सही प्रकार का चयन करने के लिए आसान होना चाहिए:

  • आप पात्रों उपयोग unicode के स्ट्रिंग चाहते हैं।
  • आप एक स्ट्रिंग बाइट्स उपयोग str के रूप में एन्कोड चाहते हैं (कई अन्य भाषाओं में आप byte[] यहाँ का उपयोग करें)।

पायथन 3.x प्रकार str टाइप की एक स्ट्रिंग है, जैसा कि आप उम्मीद करेंगे। यदि आप बाइट्स का अनुक्रम चाहते हैं तो आप bytes का उपयोग कर सकते हैं।

+0

अजगर 2.6+ भी अगर आप कुछ और भी अधिक परिवर्तनशील में अपने बाइट्स चाहते हैं, bytearrays है। – kindall

संबंधित मुद्दे

 संबंधित मुद्दे