Какая кодировка по умолчанию в стандартном вводе bash?
Я даже не уверен, как правильно задать этот вопрос, но из моего ограниченного понимания того, что на самом деле представляет собой стандартный ввод, и того факта, что:
Там нет такого понятия, как простой текст. Если у вас есть строка, в памяти, в файле или в сообщении электронной почты, вы должны знать, в какой кодировке она находится, или вы не можете ее интерпретировать или правильно отобразить пользователям.
Тогда я думаю, что этот вопрос имеет смысл: какова кодировка bash по умолчанию?
В контексте Node.js
Приложение прослушивает входные данные от пользователя:
process.stdin
.pipe(through(chunk, _, next) {
console.log(chunk.toString()) // chunk is an instance of Buffer
next()
})
При запуске этого с node app.js
и нажав символ a
он декодируется обратно правильно (отображается "стандартный вывод" a
), что в соответствии с документом означает, что он декодируется как utf-8
закодированный символ (потому что это по умолчанию toString()
метод).
Поскольку utf8 обратно совместим с ascii
когда я нажимаю чар a
, это может быть ascii
или же utf8
(или любой другой ascii
совместимая кодировка в этом отношении, хотя я предполагаю, что это маловероятно). Так что это сводится к:
- Какая программа отвечает за ее кодирование (
terminal
?bash
?) - Какая это кодировка?
ascii
?utf8
?
я весьма озадачен