Erstens: Ihr Titel verwendet / d ANSI, während Sie sich im Text auf ASCII beziehen. Bitte beachten Sie, dass ANSI nicht gleich ASCII ist. ANSI enthält den ASCII-Satz. Der ASCII-Satz ist jedoch auf die ersten 128 numerischen Werte (0 - 127) beschränkt.
Wenn alle Ihre Daten auf ASCII (7-Bit) beschränkt sind, spielt es keine Rolle, ob Sie UTF-8, ANSI oder ASCII verwenden, da sowohl ANSI als auch UTF-8 den vollständigen ASCII-Satz enthalten. Mit anderen Worten: Die numerischen Werte 0 bis einschließlich 127 stehen für genau dieselben Zeichen in ASCII, ANSI und UTF-8.
Wenn Sie Zeichen außerhalb des ASCII-Satzes benötigen, müssen Sie eine Codierung auswählen. Sie könnten ANSI verwenden, aber dann stoßen Sie auf die Probleme aller verschiedenen Codepages. Erstellen Sie eine Datei auf Maschine A und lesen Sie sie auf Maschine B. Diese kann / wird unter Umständen witzig aussehende Texte erzeugen, wenn diese Maschinen so eingerichtet sind, dass sie unterschiedliche Codepages verwenden. Dies liegt einfach daran, dass der numerische Wert nnn unterschiedliche Zeichen in diesen Codepages darstellt.
Diese "Codepage Hölle" ist der Grund, warum der Unicode-Standard definiert wurde. UTF-8 ist nur eine einzige Kodierung dieses Standards, es gibt noch viel mehr. UTF-16 wird am häufigsten verwendet, da es die native Codierung für Windows ist.
Wenn Sie also etwas unterstützen müssen, das über die 128 Zeichen des ASCII-Satzes hinausgeht, empfehle ich UTF-8 . Auf diese Weise spielt es keine Rolle und Sie müssen sich keine Gedanken darüber machen, mit welcher Codepage Ihre Benutzer ihre Systeme eingerichtet haben.