Die Digraphen und Trigraphen in C / C ++ stammen aus den Tagen von Sechs-Bit-Zeichensätzen, die von CDC6000 (60 Bit), Univac 1108 (36 Bit), DECsystem 10 und 20 Systemen (36 Bit) verwendet wurden und jeweils proprietäre 64 Zeichen verwendeten Set nicht kompatibel mit ASA X3.4-1963 (jetzt bekannt als ANSI X3.4-1963 "7-Bit American National Standard Code für den Informationsaustausch"). Die neueste Version ist ANSI X3.4-1986.
Da diese Systeme nicht in der Lage waren, alle 96 grafischen Codepunkte darzustellen, wurden viele weggelassen. Darüber hinaus wurde X3.4 mit anderen National Standard Institutes (GBR, GER, ITA usw.) koordiniert, und in X3.4 gab es Codepunkte, die als nationale Ersatzzeichen bezeichnet wurden - das offensichtlichste Beispiel ist das # für das Britsh Pound Das Symbol (offensichtlich, weil der Name des # -Zeichens "Pfundzeichen" aus seiner herkömmlichen Verwendung im US-Handel ist - vor der Entwicklung von Twitter) und das "{''} 'wurden auch als nationale Ersatzzeichen bezeichnet.
Daher wurden Digraphen eingeführt, um einen Mechanismus für jene Computersysteme bereitzustellen, die nicht in der Lage sind, die Zeichen darzustellen, und auch für Datenendgeräte, die den widersprüchlichen Codepunkten nationale Ersatzzeichen zuweisen. Di / Tri-Graphen sind zu einem archaischen Artefakt der Computergeschichte geworden (ein Fach, das heutzutage in der Informatik nicht unterrichtet wird).
Ein ausführliches Dokument zu diesem Thema finden Sie hier: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.96.678&rep=rep1&type=pdf