我们在汉化翻译的时候经常会碰到翻译后的文本导入游戏后,游戏崩溃的现象。
1 ], o2 m" n/ G# Y其实,如果巧妙地利用折半查找法,只需要12次左右即可快速找到那些非法字符。
* U! J% D% F, G) Y" w$ K, I# T假设A.txt是原文文本 共4000行,B.txt是会崩溃的译文文本 共4000行。
; f! O( L6 b7 |8 P, P+ J第1次,我们取出A.txt的1-2000行和B.txt的2001-4000行,组合为一个新的字幕文件。
. T2 z* o8 c7 s- D$ r& |导入游戏后如果出错,说明在B.txt的2001-4000行有非法字符。
/ g2 ]- ?1 |! } r8 z/ b. I. }8 e, J
第2次,我们取出A.txt的1-2000行,B.txt的2001-3000行,A.txt的3001-4000行。
1 e6 t6 D% W3 A$ t$ b; q8 `导入游戏后如果还是出错,说明在B.txt的2001-3000行有非法字符。
# C# J+ R& x3 x! E: E
2 k9 F" x7 {" ^7 S如此不断折半缩小范围,很快就能定位到一行上,找到非法字符一般只需要12次左右。) W# W. a! a) p. x7 t& E" ^/ H
当然,文本里有问题的地方可能不止一行,但是找到一行以后,找出原因后就可以用替换等方法修正所有行的问题。 |