バイナリでエンコードされたファイル名を持つファイルがディスクに保存されているとします。端末でこれを実行する
とls
どうなりますか?
おそらく:
ls
ファイル名バイトを読み取り、現在設定されているエンコーディングで検索し、エンコーディングに見つからない場合は、一部のバイトをエスケープしてファイル名を印刷します。stdout
- シェルは
ls
印刷内容を読み取り、再印刷します。stdout
- 端末はシェルから印刷したばかりのものを読み取り、エンコーディングから検索し、このバイトがコードポイントXXを表すかどうかを探します。
- その後、端末はフォントテーブル内のコードポイントXXを探し、画面上にフォントを描画する。
コーディングの知識はほぼ初心者レベルなので、私の推測が間違っている可能性があります。間違いがある場合はご指摘ください。
私のようなユーザーがより多くを学び、コーディングの問題を解決するために具体的かつ詳細に説明することを躊躇しないでください。システムがどのように機能するかを理解すると、ユーザーが問題を解決するのに役立つと思います。