In den Anfängen der Computerei (ca. ab 1960) wurde zur einheitlichen Zeichenübertragung (in englischer Sprache) von und zu einem Computersystem, der ASCII Zeichensatz entwickelt, nachdem die Zeichensätze von Fernschreibern (Teletype) dazu wenig brauchbar waren. Jeder (Groß-)Computerhersteller hatte auch eigenen Zeichensätze verwendet.
Die ASCII Zeichencodierung besteht aus einem 7-Bit Code, in dem 128 Zeichen darstellbar sind. Neben den druckbaren (sichtbaren) Zeichen ab Position 32d (dezimal) bzw- 20h (hexadezimal) sind noch 32 nicht sichtbare Zeichen, insbesondere Steuerzeichen, definiert und standardisiert.
Wird über die 7-Bit von ASCII das 8-te Bit, also ein volles Byte, verwendet, können für weitere 128-Bit Zeichen definiert werden. Das machen die nationalen Zeichensätze z.B. ISO8859-1 bis 8859-16, bzw. CP1252, aber auch hier bleiben die 7-Bit ASCII Zeichen an derselben Stelle erhalten.
Mehr als 8-Bit verwenden UNICODE bzw. UTF-8 (Zeichensatz der von Linux verwendet wird), die bis zu 32 Bits (4 Bytes) für ein Zeichen verwenden können. Damit sind weltweit die Zeichen aller Sprachen abgedeckt, doch bleiben auch hier die lesbaren ASCII Zeichen an derselben Position aufrecht, sodass auch in UTF-8 für ein im ASCII Zeichensatz enthaltenen Zeichen nur 1 Byte (=8 Bit) "verbraucht" wird.
Siehe dazu die Linux man-pages zu: charsets, ASCII, ISO_8859-1 bis ISO_8859-16, CP1252, latin1 bis latin10, UNICODE, UTF-8
Grundkenntnisse über verschiedenen Zeichensätze sind dann erforderlich, wenn fremde Filesysteme (z.B.) FAT, oder exFAT am Linux Rechner gemountet werden, oder wenn über Systemgrenzen (Windows : Linux) ein Dateizugriff erfolgt. Das betrifft insbesondere auch die Datei- und Verzeichnisnamen