
Допустим, на диске хранится файл, имя которого закодировано в двоичном формате. Что произойдет,
если я запущу его в терминале? Возможно, как:ls
ls
считывает байты имени файла, ищет его в текущей установленной кодировке, экранирует определенные байты, если они не найдены в кодировке, затем выводит имя файла на экранstdout
- Shell считывает то, что
ls
напечатано, и снова печатает этоstdout
- Терминал считывает то, что оболочка только что распечатала, ищет его в кодировке, обнаруживает, что эти байты представляют кодовую точку XX.
- Затем терминал ищет кодовую точку XX в таблице шрифтов и рисует шрифт на экране.
Мои догадки могут быть неверными, поскольку мои познания в кодировании находятся лишь на начальном уровне. Если есть ошибки, укажите на них.
Пожалуйста, не стесняйтесь быть конкретными и подробными, чтобы помочь пользователям, таким как я, узнать больше и устранить проблемы с кодировкой. Я думаю, что понимание того, как работают системы, помогает пользователям решать их проблемы.