python, cmd.exe: print "°"

Gast #1928239
Lesenswert?

das
1
# -*- coding: utf-8 -*-
2
print "°"
3
print u"°".encode('cp1252')
4

5
char = 0
6
print "  ",
7
for n in range(15):
8
  print "{:02x}".format(n),
9
print
10
for y in range(15):
11
  print "{:02x}".format(y),
12
  for x in range(15):
13
    print "{:2}".format( chr(char) ),
14
    char += 1
15
  print
macht das:
1
┬░
2
3
   00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e
4
00    ☺  ☻  ♥  ♦  ♣  ♠
5
  ♫  ♀
6
01 ☼  ►  ◄  ↕  ‼  ¶  §  ▬  ↨  ↑  ↓  →  ←  ∟  ↔
7
02 ▲  ▼     !  "  #  $  %  &  '  (  )  *  +  ,
8
03 -  .  /  0  1  2  3  4  5  6  7  8  9  :  ;
9
04 <  =  >  ?  @  A  B  C  D  E  F  G  H  I  J
10
05 K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y
11
06 Z  [  \  ]  ^  _  `  a  b  c  d  e  f  g  h
12
07 i  j  k  l  m  n  o  p  q  r  s  t  u  v  w
13
08 x  y  z  {  |  }  ~    Ç  ü  é  â  ä  à  å
14
09 ç  ê  ë  è  ï  î  ì  Ä  Å  É  æ  Æ  ô  ö  ò
15
0a û  ù  ÿ  Ö  Ü  ø  £  Ø  ×  ƒ  á  í  ó  ú  ñ
16
0b Ñ  ª  º  ¿  ®  ¬  ½  ¼  ¡  «  »  ░  ▒  ▓  │
17
0c ┤  Á  Â  À  ©  ╣  ║  ╗  ╝  ¢  ¥  ┐  └  ┴  ┬
18
0d ├  ─  ┼  ã  Ã  ╚  ╔  ╩  ╦  ╠  ═  ╬  ¤  ð  Ð
19
0e Ê  Ë  È  ı  Í  Î  Ï  ┘  ┌  █  ▄  ¦  Ì  ▀  Ó

Font im "Dos-Fenster" ist Lucida Console
Persönliche Seite #1928457
Lesenswert?

Das "DOS-Fenster" ist keines, aber es nutzt standardmäßig CP437 bzw. 
850, und nicht 1252.

Mit den Win32-API-Funktionen SetConsoleOutputCP und SetConsoleCP 
lässt sich die von Konsolenprozessen verwendete Codepage einstellen.

Sinnvolle Resultate erhält man allerdings nur, wenn die Konsole nicht 
einen der standardmäßig eingerichteten Pixelfonts verwendet, denn die 
sind ausschließlich auf CP437/850 ausgerichtet.

"Lucida Console" ist genauso wie "Andale Mono" oder "Consolas" ein 
vollwertiger Truetype-Font, weist dieses Problem also nicht auf.

Seit Vista ist es übrigens endlich möglich, die verwendete Schriftart 
eines Konsolenfenster programmatisch festzulegen, dazu dient die 
Win32-API-Funktion SetCurrentConsoleFontEx.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren