作者[系统]
看板PttCurrent
标题[开发资讯] 新指令: SGR 66 一字双色
时间Sun Sep 20 00:00:04 CST 2026
PTT 终端机通讯协定注意事项
新指令即将上线,请 App 开发者及早测试 & 更新。
指令: *[66m
* = ESC
预期行为: 把後面的属性作为一字双色的後半段着色,或是忽略。
上线时间: PTT1 - 9/20
PTT2 - 9/19
对「使用Big5连线」的Client 无影响,只对 UTF-8 连线生效,
或是使用者自己打开U->U里的[禁止在双位元中使用色码(去除一字双色)]
选项。
说明:SGR 66 - 一字双色控制码。
这不是真的标准 ANSI 码,而是 PTTBBS 自订的代码 - SGR 66.
一字双色是 Big5 编码的产物,但它有很多问题,不管是与 Unicode (UTF-8)
不相容,或是编辑时的困难 (要关闭侦测中文字,且编辑中前後字元都变 ?),
都使得它成为 PTT 现代化的阻力之一。
ANSI 控制码里 60-65 是 CJK 表意文字的区域,所以我们打算建立一个非官方
标准给台湾的 BBS 使用,从 ECMA-48 里找到了还没使用的 66 来当一字双色
的控制码。若使用者的文章里出现了 *[1;37;66;33m中*[m, 那麽在 PTT 站内
就会解释成 "中的前半个字元显示成高亮白色,後面黄色", 也就是之前的
一字双色。 这个新标准需要伺服器端 (PTT) 与客户端 (term.ptt.cc, 各大
App/WebBBS/...) 支援,所以需要时间。 由於它不是国际标准 (应该也不会
被 ANSI/ECMA 接受), 一般的终端机大概也不会处理,但好处是略过也就是直
接用後半部的颜色呈现,所以效果不会差太多,大概就跟现在在 PTT 上开 UTF-8
模式一样。
预计的推进方式:
1. term.ptt.cc 支援用 SGR 66 显示一字双色
2. PTT 的输出系统(pfterm)可读SGR66,但只用在 UTF8 模式;Big5仍用原输出模式
2. PTT 的编辑器更新说明,建议使用 SGR 66 (以上本周开始)
3. PTT 的编辑器关闭 Raw mode,强制新文章只能使用 SGR 66 (今年底前)
4. PTT 内部资料从 Big5 转 UTF8 时,跑转换器把所有的一字双色改用 SGR 66 储存
纯 Big5 模式连线的 App 都不用改,只有 UTF-8 App 或是会贴 ASCII ART 的
工具程式建议加入此功能。
* SGR66 在别的 BBS 站的相容性?
目前只有 PTT1/PTT2 ,我们希望在未来推动之後可以增加也收 SGR66 的站台。
这是未来 Unicode 时代所必经之路 (或是只能舍弃一字双色)。
* 给第三方程式开发者的建议
1. 如果你目前是用 Big5 与 PTT 连线,基本上不会收到,但请写好收到不要当掉。
2. 如果你是用 UTF-8 连线,可选择实作一字双色,或是忽略这个代码。
3. 如果你是 ASCII Art 的软体开发者,建议加入切换 SGR66 的选项。