我们在汉化翻译的时候经常会碰到翻译后的文本导入游戏后,游戏崩溃的现象。
5 J* y2 R4 |5 A其实,如果巧妙地利用折半查找法,只需要12次左右即可快速找到那些非法字符。4 P" q4 l5 X. i Y% Y( C( D
假设A.txt是原文文本 共4000行,B.txt是会崩溃的译文文本 共4000行。
. E, x3 w$ b$ j& p: ]" v第1次,我们取出A.txt的1-2000行和B.txt的2001-4000行,组合为一个新的字幕文件。
6 G6 i8 L# P8 ~+ H4 n导入游戏后如果出错,说明在B.txt的2001-4000行有非法字符。
9 J, B% K! \: ^# L2 A: `; y
3 b" g- ~7 h) ?; j) J第2次,我们取出A.txt的1-2000行,B.txt的2001-3000行,A.txt的3001-4000行。
@% w9 H5 W S# y! k' t( E导入游戏后如果还是出错,说明在B.txt的2001-3000行有非法字符。
0 H6 ]6 T( L& p- X$ c v; B9 L
/ c" e0 S' w0 P2 O如此不断折半缩小范围,很快就能定位到一行上,找到非法字符一般只需要12次左右。5 z8 O2 F5 [" J5 _; X4 L
当然,文本里有问题的地方可能不止一行,但是找到一行以后,找出原因后就可以用替换等方法修正所有行的问题。 |