私は次のことを知っています。
- 出力テキストを赤に変更するには
\033[31m
。 - これは
\
脱出です。 033
8進ASCIIエスケープコードです。
しかし、私の質問は、なぜ2つのスケープを使うべきですか?私の言葉は、なぜ単に使用
できないのですか?\[31m
\033[31m
答え1
これらの「エスケープコード」は単なるものです。彼らは異なる目的を持っています!
バックスラッシュの後に数字が続くと、指定された数値コードポイントを持つ文字を挿入するために使用されます。 ASCIIテーブルを開き、位置033の内容を見つけます。
あなたは、[31m
その文字の後にのみ特殊コンテンツとして解釈されるシーケンスです。そうでなければ、特別な意味はありません。
だから両方が必要です。
なぜ?誰かがこのように発明したので、端末を制御シーケンス解析モードに切り替えるには033を送信する必要があります。