2012-10-02 32 views
5

आईडीएलई, print(chr(219)) (21 9 का ब्लॉक कैरेक्टर) आउटपुट "Û" प्रिंट नहीं करेगा।पायथन: ब्लॉक कैरेक्टर

क्या इसके बजाय ब्लॉक चरित्र को आउटपुट करने का कोई तरीका है?

यह वास्तव में कुछ प्रकार की कंप्यूटर-व्यापी समस्या हो सकती है, क्योंकि मुझे ब्लॉक चरित्र को कहीं से प्रिंट करने के लिए प्रतीत नहीं होता है, इसे आकर्षक से बाहर कर रहा है और टेक्स्टबॉक्स में केवल Û में परिणाम मिलता है।

उत्तर

9

सही वर्ण सेट का उपयोग करें।

3>> print(bytes((219,)).decode('cp437')) 
█ 
3>> ord(bytes((219,)).decode('cp437')) 
9608 
3>> hex(9608) 
'0x2588' 
3>> print('\u2588') 
█ 

Unicode Character 'FULL BLOCK' (U+2588)

0

आपका अजगर खोल शायद या तो ISO-8859-1 या यूनिकोड, नहीं वह एक ही चरित्र वर्ण मानचित्र के रूप में सेट का उपयोग कर रहा है।

सीआर (21 9) भी यू +00 डीबी है, जो शायद यूनिकोड चरित्र Û है। मुझे नहीं पता कि आप किस चरित्र सेट का उपयोग कर रहे हैं, लेकिन कोई प्रतीक वर्ण नहीं हैं जो यूनिकोड चरित्र सेट में शुरुआती है।