मैं एक शब्दकोश बनाना चाहता हूं जहां अंग्रेजी शब्द रूसी और फ्रेंच अनुवादों की ओर इशारा करते हैं।
मैं पायथन में यूनिकोड वर्ण कैसे प्रिंट कर सकता हूं? इसके अलावा, आप एक चर में यूनिकोड वर्णों को कैसे संग्रहीत करते हैं?
मैं एक शब्दकोश बनाना चाहता हूं जहां अंग्रेजी शब्द रूसी और फ्रेंच अनुवादों की ओर इशारा करते हैं।
मैं पायथन में यूनिकोड वर्ण कैसे प्रिंट कर सकता हूं? इसके अलावा, आप एक चर में यूनिकोड वर्णों को कैसे संग्रहीत करते हैं?
जवाबों:
अपने पायथन स्रोत कोड में यूनिकोड वर्णों को शामिल करने के लिए, आप यूनिकोड से बचने के पात्रों का उपयोग \u0123
अपनी स्ट्रिंग में फार्म में कर सकते हैं, और 'यू' के साथ स्ट्रिंग शाब्दिक को उपसर्ग कर सकते हैं।
यहाँ पायथन इंटरेक्टिव कंसोल में एक उदाहरण चल रहा है:
>>> print u'\u0420\u043e\u0441\u0441\u0438\u044f'
Россия
इस तरह घोषित स्ट्रिंग्स यूनिकोड-प्रकार के चर हैं, जैसा कि पायथन यूनिकोड प्रलेखन में वर्णित है ।
यदि उपरोक्त कमांड चलाना आपके लिए सही ढंग से टेक्स्ट प्रदर्शित नहीं करता है, तो शायद आपका टर्मिनल यूनिकोड वर्ण प्रदर्शित करने में सक्षम नहीं है।
किसी फ़ाइल से यूनिकोड डेटा पढ़ने के बारे में जानकारी के लिए, यह उत्तर देखें:
mystr
? फिर इसे कैसे प्रिंट करें?
print your_unicode_characters.encode('utf-8')
अजगर दुभाषिया से सीधे एक यूनिकोड वर्ण प्रिंट करें:
el@apollo:~$ python
Python 2.7.3
>>> print u'\u2713'
✓
यूनिकोड चरित्र u'\u2713'
एक चेकमार्क है। दुभाषिया स्क्रीन पर चेकमार्क प्रिंट करता है।
एक अजगर स्क्रिप्ट से एक यूनिकोड वर्ण प्रिंट करें:
इसे test.py में रखें:
#!/usr/bin/python
print("here is your checkmark: " + u'\u2713');
इसे इस तरह चलाएं:
el@apollo:~$ python test.py
here is your checkmark: ✓
यदि यह आपके लिए एक चेकमार्क नहीं दिखाता है, तो समस्या कहीं और हो सकती है, जैसे कि टर्मिनल सेटिंग्स या कुछ ऐसा जो आप स्ट्रीम पुनर्निर्देशन के साथ कर रहे हैं।
फ़ाइल में यूनिकोड वर्णों को संग्रहीत करें:
इसे फ़ाइल में सहेजें: foo.py:
#!/usr/bin/python -tt
# -*- coding: utf-8 -*-
import codecs
import sys
UTF8Writer = codecs.getwriter('utf8')
sys.stdout = UTF8Writer(sys.stdout)
print(u'e with obfuscation: é')
इसे चलाने के लिए और फाइल करने के लिए पाइप आउटपुट:
python foo.py > tmp.txt
Tmp.txt खोलें और अंदर देखें, आप इसे देखते हैं:
el@apollo:~$ cat tmp.txt
e with obfuscation: é
इस प्रकार आपने यूनिकोड ई को एक फ़ाइल पर एक ऑबफ्यूज़ेशन मार्क के साथ सहेजा है।
यदि आप print()
यूनिकोड की कोशिश कर रहे हैं , और एएससीआई कोडेक त्रुटियों को प्राप्त कर रहे हैं , तो इस पृष्ठ की जांच करें , जिसमें से टीएलडीआर export PYTHONIOENCODING=UTF-8
अजगर को फायरिंग करने से पहले करता है (यह चर नियंत्रित करता है कि बाइट्स के किस क्रम में कंसोल आपके स्ट्रिंग डेटा को एन्कोड करने की कोशिश करता है)। आंतरिक रूप से, Python3 UTF-8 का उपयोग डिफ़ॉल्ट रूप से करता है ( यूनिकोड HOWTO देखें)) तो यह समस्या नहीं है; आप बस यूनिकोड को तार में रख सकते हैं, जैसा कि अन्य उत्तरों और टिप्पणियों में देखा गया है। जब आप कोशिश करते हैं और इस डेटा को अपने कंसोल से निकालते हैं कि समस्या होती है। अजगर को लगता है कि आपका सांत्वना केवल आस्की को संभाल सकता है। कुछ अन्य उत्तर कहते हैं, "इसे किसी फ़ाइल में लिखें, पहले" लेकिन ध्यान दें कि वे ऐसा करने के लिए एन्कोडिंग (UTF-8) निर्दिष्ट करते हैं (इसलिए, पायथन लिखित रूप में कुछ भी नहीं बदलता है), और फिर पढ़ने के लिए एक विधि का उपयोग करें फ़ाइल जो सिर्फ एन्कोडिंग के लिए किसी भी संबंध के बिना बाइट्स को थूक देती है, यही कारण है कि काम करता है।
अजगर 2 में, आप एक साथ यूनिकोड तार घोषित u
, के रूप में u"猫"
और उपयोग decode()
और encode()
करने के लिए और क्रमशः यूनिकोड से, अनुवाद करने के लिए।
यह पायथन 3 में काफी आसान है। यहां एक बहुत अच्छा अवलोकन पाया जा सकता है । उस प्रस्तुति ने मेरे लिए बहुत कुछ स्पष्ट किया।
यह देखते हुए कि यह पहला स्टैक ओवरफ्लो परिणाम है, जब Google इस विषय को खोज रहा है, यह उल्लेख करता है कि u
यूनिकोड स्ट्रिंग्स के लिए प्रीफ़िक्सिंग पाइथन 3 में वैकल्पिक है। (पायथन 2 उदाहरण शीर्ष उत्तर से कॉपी किया गया था)
अजगर 3 (दोनों काम):
print('\u0420\u043e\u0441\u0441\u0438\u044f')
print(u'\u0420\u043e\u0441\u0441\u0438\u044f')
अजगर 2:
print u'\u0420\u043e\u0441\u0441\u0438\u044f'
मैं विंडोज में पोर्टेबल वाइनपीथॉन का उपयोग करता हूं, इसमें आईपीथॉन क्यूटी कंसोल शामिल है, मैं निम्नलिखित प्राप्त कर सकता हूं।
>>>print ("結婚")
結婚
>>>print ("おはよう")
おはよう
>>>str = "結婚"
>>>print (str)
結婚
यूनिकोड वर्ण दिखाने के लिए आपके कंसोल दुभाषिया को यूनिकोड का समर्थन करना चाहिए।
बस एक और बात जो अभी तक नहीं जोड़ी गई है
पायथन 2 में, यदि आप एक वैरिएबल को प्रिंट करना चाहते हैं .format()
, जिसमें यूनिकोड और उपयोग है , तो ऐसा करें (बेस स्ट्रिंग बनाएं जिसे यूनिकोड स्ट्रिंग के साथ स्वरूपित किया जा रहा है u''
:
>>> text = "Université de Montréal"
>>> print(u"This is unicode: {}".format(text))
>>> This is unicode: Université de Montréal
'+' को '000' से बदलें । उदाहरण के लिए, 'U + 1F600' 'U0001F600' बन जाएगा और "\" और प्रिंट के साथ यूनिकोड कोड को प्रस्तुत करेगा । उदाहरण:
>>> print("Learning : ", "\U0001F40D")
Learning : 🐍
>>>
इसकी जाँच करें शायद यह अजगर यूनिकोड इमोजी की मदद करेगा