2012-10-02 35 views
5

Trong IDLE, print(chr(219)) (ký tự khối của 219) xuất ra "Û".Python: ký tự khối sẽ không in

Có cách nào để làm cho nó xuất ra ký tự khối thay thế không? Điều này thực sự có thể là một số loại vấn đề trên toàn máy tính, vì tôi không thể để nhân vật khối in từ bất cứ nơi nào, sao chép nó ra khỏi charmap và thành bất kỳ hộp văn bản nào chỉ dẫn đến Û.

Trả lời

9

Sử dụng bộ ký tự chính xác.

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

vỏ python của bạn có lẽ là bằng cách sử dụng tiêu chuẩn ISO-8859-1 hoặc Unicode, không ông nhân vật cùng một thiết lập như Character Map.

chr (219) cũng là U + 00DB, có thể là ký tự Unicode Û. Tôi không biết bạn đang sử dụng bộ ký tự nào, nhưng không có ký tự biểu tượng nào sớm trong bộ ký tự Unicode.

Các vấn đề liên quan