从一张问号字幕说起
2003 年夏天,我到表哥家过暑假,他家那台二手组装机放在靠窗的位子上,显示器还是 CRT,鼓鼓的像个小电视。他神秘兮兮地塞了一张《英雄》的 VCD 进去,说“这是最新的”,结果播放器一打开,字幕那一栏整整齐齐全是问号。我们俩坐在那里,靠画面猜台词,张曼玉和梁朝伟在胡杨林里那段,我们猜他们说的是“走吧”,其实人家说的是“你为什么不拔剑”。那天下午我们猜了三个钟头,从两点猜到五点,蚊子咬了我一腿的包。
后来我才知道,那是一种非常典型的乱码:字幕文件是 GBK 编码,播放器却按 ISO-8859-1 去读,中文的每个字节都被拆成了两个西文字符,显示出来就成了一串问号和怪符号。你看,事情其实很简单,但在 2003 年的那个下午,对我一个十二三岁的小孩来说,这简直像魔法失灵。字幕机、光盘、播放器,三个东西只要有一个没对上,满屏的字就集体叛变。
我后来收了不少乱码现场。最让我印象深刻的是老张,他在潘家园花了 80 块钱淘到一台 1998 年的字幕机,搬回家插上电,屏幕上跳出一行“编码错误,请重试”。老张不恼,反而乐了半天,说这玩意儿是“文物级 bug”。他把机器擦干净摆在书架上,逢人就讲这段。我问他为什么不修,他说:“修好了就没意思了,它现在这样,才像个有故事的老家伙。”我觉得他说得对,有些乱码不该被修复,它们就该待在那儿,提醒你文字也曾经水土不服过。
编码这东西,说白了就是一本翻译手册
我常跟朋友打比方:字符编码就像一本翻译手册。你写“你好”,计算机看到的是两个字节,GBK 手册里这两个字节对应“你好”,UTF-8 手册里对应的却是另外两个字,你拿错手册去查,查出来的当然是一堆谁也不认识的东西。问题在于,2000 年前后那几年,中国互联网上 GBK、GB2312、Big5、UTF-8 四本手册同时在用,谁也不知道对方手里拿的是哪本。字幕组就更难了,翻译的人用 Windows 记事本存成 ANSI,做时间轴的人用 Mac 存成 UTF-8,最后压进视频里,十有八九要出问题。
我记得 2007 年那会儿,字幕组“风软”在论坛里贴过一份通知,一共六条,第一条就是“字幕必须存成 UTF-8 无 BOM”,第二条是“禁止用记事本直接保存”。那份通知我现在还留着截图,字不大,但是每一条都透着被乱码折磨过的怨气。有一回我在一个老论坛里翻到有人贴了三百多张乱码截图,标题都叫“这到底是哪种编码”,底下的人一本正经地分析字节序列,像一群侦探在破案。那论坛叫“乱码博物馆”,2010 年还在,后来就没了。
这话可能有点矫情,但我确实是这么想的。现在播放器都聪明了,自动识别编码,乱码基本绝迹,可我也说不清是好事还是坏事。乱码少了,那种“大家一起猜”的热闹也少了。前阵子小鹿发来一个 .srt 文件,说“你帮我看下这个乱码”,我打开一看,UTF-16 LE,文件名里还带了个问号。我把它转成 UTF-8,发回去,她回了个“牛逼”。就这两个字,我看了好一会儿,觉得好像又回到了那个猜台词的下午。
这个页面我会一直更新,把收来的乱码现场、编码笔记、还有那些年为了看一部电影折腾出来的土办法,都慢慢放进来。最近还在整理几条早期的入口记录,像 夸克b站看片入口 那种,都是当年为了找带字幕的片源留下的痕迹,看着挺亲切。你别嫌乱,乱才有意思。