Unicode转写规则竟能图灵完备
Unicode's transliteration rules are Turing-complete

你可能以为Unicode的转写规则只是用来把
转写规则本意是将
- 有评论者指出,Turing-complete 的是 UTS #35 转写规则引擎本身而非 Unicode 字符集,标准转写器(如 Latin-Katakana)设计为必然终止,且主流实现如 ICU 设有重写次数限制以防死循环。
- 一位从业者反驳了安全漏洞的担忧,强调攻击者需先能注入自定义规则集才能利用该特性,而合理实现不会接受来自不可信输入的规则,因此无法通过发送 Unicode 文件触发无限循环。
- 有观点认为在复杂系统中意外出现 Turing-complete 并不令人惊讶,因为构建系统时必须刻意设计才能确保可判定性,否则自引用的重写规则很容易自然演化出通用计算能力。