Для кода ниже в C:
char s[] = "这个问题";
printf("%s", s);
Знал, что исходный файл - это "текст программы UIF-8 Unicode C" с помощью команды file
.
Как строка кодируется после компиляции? Также utf-8 в .out файле?
Когда двоичный файл выполняется в bash, как строка закодирована в памяти? Это также utf-8?
Затем, как bash знает схему кодирования и показывает правильный символ?
Наконец, теперь bash знает, что показывать, но как байты переводятся на пиксели на экране? Есть ли какое-то отображение от байтов до пикселей?
Во всех этих процессах существует ли какая-либо кодировка или декодирование utf-8?