Für folgenden Code in C:Wie wird utf-8 codierte Zeichenkette in c mit printf zum Bildschirm gedruckt?
char s[] = "这个问题";
printf("%s", s);
Knew dass Quelldatei mit file
Befehl "UTF-8 Unicode C Programmtext" ist.
Wie wird die Zeichenfolge nach dem Kompilieren codiert? Auch utf-8 in der .out-Datei?
Wenn die binäre Datei in bash ausgeführt wird, wie die Zeichenfolge im Speicher codiert ist? Ist es auch UTF-8?
Dann, wie Bash kennt das Codierungsschema und zeigen richtige Zeichen?
Zuletzt, jetzt weiß die Bash was zu zeigen, aber wie Bytes in Pixel auf dem Bildschirm übersetzt? Gibt es eine Zuordnung von Bytes zu Pixeln?
In all diesen Prozessen gibt es irgendeine Codierung oder Decodierung von UTF-8?
Das ist ziemlich die Frage. Beachten Sie, dass bash, die Befehlsinterpreter-Shell und der Terminalemulator (das Fenster mit Text) nicht identisch sind. Ihr Programm spricht nicht mit bash, es läuft nur im selben Terminal wie bash (vorausgesetzt, dass bash die Shell ist, die Sie verwenden). – unwind