Диграфи та триграфи в C / C ++ походять з часів шестирозрядних наборів символів, що використовувались CDC6000 (60 біт), Univac 1108 (36 біт), DECsystem 10 та 20 систем (36 біт), кожен з яких використовував власний 64 символ набір несумісний з ASA X3.4-1963 (тепер відомий як ANSI X3.4-1963 "7-бітний Американський національний стандартний код для обміну інформацією"). Остання редакція - ANSI X3.4-1986.
Оскільки ці системи не змогли представити всі 96 графічних точок коду, багато з них були пропущені. Крім того, X3.4 координувався з іншими національними інститутами стандартів (GBR, GER, ITA тощо), а в X3.4 були кодові пункти, які позначалися як національні символи заміни - найочевидніший приклад - # для британського фунта символ (очевидний, оскільки ім'я символу # - "знак фунта", що є загальноприйнятим у торгівлі США - до еволюції Twitter), а "{''} також були позначені як національні символи, що замінюють.
Таким чином, були введені графіки для забезпечення механізму для тих комп'ютерних систем, які не здатні представляти символи, а також для кінцевого обладнання даних, яке призначало національні символи заміни конфліктуючим кодовим точкам. Ді / три-графіки стали архаїчним артефактом обчислювальної історії (предмет, який сьогодні не викладається в інформатиці).
Вичерпний документ на цю тему можна знайти тут: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.96.678&rep=rep1&type=pdf