2012-10-02 17 views
5

W IDLE, print(chr(219)) (219 jest znakiem bloku) wyświetla "Û".Python: znak bloku nie zostanie wydrukowany

Czy jest jakiś sposób, aby uzyskać zamiast tego znak blokowy?

To może być jakiś rodzaj problemu z całym komputerem, ponieważ nie wydaje mi się, że mogę uzyskać znak blokowy do drukowania z dowolnego miejsca, kopiowanie go z charmap i do pola tekstowego jakikolwiek powoduje tylko Û.

Odpowiedz

9

Użyj poprawnego zestawu znaków.

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

Twój powłoki Python jest prawdopodobnie przy użyciu ISO-8859-1 lub Unicode, prawda sam zestaw znaków jako znak mapą.

chr (219) to także U + 00DB, który jest prawdopodobnie znakiem Unicode Û. Nie wiem, jakiego zestawu znaków używasz, ale nie ma żadnych znaków symboli na początku zestawu znaków Unicode.

Powiązane problemy