1. ホーム
  2. bash

[解決済み] ANSIの質問です。"Ⅾx1B[?25h "と"Ⅾx1BE "です。

2022-03-07 03:43:17

質問

  1. とは何ですか? "\x1B[?25h" を行うか?

  2. どのように "\x1BE" とは異なります。 "\n" ? によると http://ascii-table.com/ansi-escape-sequences-vt-100.php it " 次の行に移動 "?ということらしいです。 "\n" はどうでしょうか?

    試しに echo "xxx\nxxx\n"echo "xxx\x1BExxx\n" をPHPで実行すると、どちらも同じものが出力されます。

何か思い当たることはありますか?

ありがとうございます。

解決方法は?

ANSIエスケープシーケンス(VT100コードとも呼ばれる)とは、ASCIIより前に標準化された制御コードのことです。

エスケープシーケンス \x1BE または エスケープ + E は NEL または "Next line" で、古い端末やメインフレームでは CR+LF を表すのに使われます。 \r\n .

エスケープシーケンス \x1B[ ( エスケープ + [ ) は、Control Sequence Introducer の例である。( \x9B も一文字のCSIです)。制御シーケンス ?25h に続いて、カーソルを表示するために使用される。

ほとんどの端末は、これらの制御コードをサポートしています。 Ctrl + V , Ctrl + [ としてレンダリングされるはずです。 ^[ (ESCのC0コード)の後に、エスケープコードが続きます。

参考文献