Skip to content
TopicTracker
From HackerNewsView original
TranslationTranslation

Unicode's transliteration rules are Turing-complete

A researcher demonstrates that Unicode's transliteration rules (UTS #35) are Turing-complete by encoding a Universal Turing Machine in them, proving the system can perform arbitrary computation.

Background

- Unicode's *transliteration* system (UTS #35) lets you convert text between scripts — e.g., Greek → Latin. But its rule language is powerful enough to simulate any arbitrary computation, not just simple character mapping. - **Turing-completeness** means a system can, in principle, run any program a general-purpose computer can. This is a formal property; it also often means the system is complex enough to have unexpected bugs or security holes. - This discovery parallels earlier findings (e.g., HTML+CSS being Turing-complete) where a seemingly "data-only" format turns out to be a hidden programming language. - French security researcher **Nicolas Seriot** (@nst021 on X) demonstrated the proof by implementing a "toy CPU" inside Unicode transliteration rules, showing they can execute arbitrary algorithms.

Related stories