三字符组（trigraph）与双字符组（Digraph）是程序设计语言（如C语言）中3个或者2个字符的序列，在编译器预扫描源程序时被替换为单个字符。以解决某些键盘不能输入某些编程必须的字符问题。
缘起.C语言的源程序的最低必须的字符集是基于7位ASCII码字符集，是ISO 646-1983 Invariant Code Set的一个超集。ISO 646最初是1972年颁布的一项国际化的7位ASCII标准，规定了12个字符所对应的码位保持对各国标准开放：codice_1 。因为法