Hängt der zugrunde liegende Zeichensatz nur von der C-Implementierung ab?

Viele Texte warnen vor dieser Verarbeitungchar Werte als ganze Zahlen sind nicht portierbar, z. Angenommen, der Wert von 'A' ist 65 (wie in ASCII).

Aber was bestimmt, ob dieser Zeichensatz ASCII (oder eine erweiterte Form) oder ein anderer Zeichensatz ist? Wird es vom Betriebssystem oder vom Compiler bestimmt? Ich gehe davon aus, dass dies nicht von der Hardware abhängt.

Könnte ein Intel-PC beispielsweise (theoretisch) einen Zeichensatz wie EBCDIC haben? Und könnte das ändernLANG Umgebungsvariable in Linux / Unix die Werte des Grundzeichensatzes für C-Programme ändern (falls neu kompiliert)?

(edit: Ich sehe jetzt, dass die verschiedenen nicht-lateinischen Zeichensätze in Linux alle die gleichen grundlegenden ASCII-Codes haben, z.KOI8-U - Ich habe angenommen, dass es Variationen gibt, deren Zeichensätze nicht mit ASCII kompatibel sind.)

Antworten auf die Frage(3)

Ihre Antwort auf die Frage