我们在汉化翻译的时候经常会碰到翻译后的文本导入游戏后,游戏崩溃的现象。% v+ V% l$ a0 U' a# j6 G, o
其实,如果巧妙地利用折半查找法,只需要12次左右即可快速找到那些非法字符。
! v f0 p! u# I, K1 O3 h假设A.txt是原文文本 共4000行,B.txt是会崩溃的译文文本 共4000行。& p. U3 n& t0 S
第1次,我们取出A.txt的1-2000行和B.txt的2001-4000行,组合为一个新的字幕文件。
2 B* r& j7 p3 @. B1 U5 J6 }导入游戏后如果出错,说明在B.txt的2001-4000行有非法字符。. G4 N8 P1 W! h# Q7 w0 ^
; i% D* |3 s2 h; l: v第2次,我们取出A.txt的1-2000行,B.txt的2001-3000行,A.txt的3001-4000行。* `6 ~$ ]/ o. c2 h. t3 S$ n: K
导入游戏后如果还是出错,说明在B.txt的2001-3000行有非法字符。( _4 x5 C" E, Q9 a$ J5 S
2 F* N' v% H- K8 X/ b5 P1 ~' n
如此不断折半缩小范围,很快就能定位到一行上,找到非法字符一般只需要12次左右。+ J0 w5 R$ U2 w( D
当然,文本里有问题的地方可能不止一行,但是找到一行以后,找出原因后就可以用替换等方法修正所有行的问题。 |