2016-03-29 16 views
0

Ich bin ein Blessed Benutzer, und vor kurzem, als ich den Inhalt der term.bold() Funktion, um herauszufinden versuchte, bekam ich diese Ausgabe:? \x1b[1m\x1b(B\x1b[mWas bedeutet ` x1b (B` tun

Ich verstehe, was \x1b[1m und \x1b[m tun, aber was tut \x1b(B tun? ich habe versucht, den Druck, aber es scheint nicht, überhaupt etwas zu tun.

Vielen Dank im Voraus!

+0

[Diese VT100/ANSI-Escape-Code-Referenz] (http : //www.termsys.demon.co.uk/vtansi.htm) sollte helfen. Hinweis: Das 'B' ist nicht Teil der Escape-Sequenz. –

+0

@Joachim Pileborg Ah ich sehe ... so '\ x1b (' setzt die Standardschriftart. Also wofür steht B? –

Antwort

0

die Kontrollsequenz \x1b(B den Standardzeichensatz wählt ASCII. Siehe XTerm Control Sequences:

 
ESC (C Designate G0 Character Set (ISO 2022, VT100). 
      Final character C for designating 94-character sets. In this 
      list, 0 , A and B apply to VT100 and up, the remainder to 
      VT220 and up. The VT220 character sets, together with the 
      Portuguese character set are activated by the National 
      Replacement Character controls. The A is a special case, 
      since it is also activated by the VT300-control for British 
      Latin-1 separately from the National Replacement Character 
      controls. 
    ... 
      C = B -> United States (USASCII). 

Das nur für den Fall vorgesehen ist, das Terminal wurde auf einen anderen Zeichensatz, zum Beispiel line-drawing. Blessed ist wahrscheinlich das Abrufen dies als Teil \x1b(B\x1b[m, zum Beispiel in

normal = tigetstr('sgr0') 

Weiterführende Literatur: