如何汉化ASCII码软件

 
 
作者:cuckoo_1…    文章来源:互联网    点击数:<script language="javascript" src="如何汉化ASCII码软件.files/GetHits.htm" type="text/javascript"> </script> 322     更新时间:2005-9-15

(感谢作者:cuckoo_1984◎WBO)

一、在前面要说的


      现在对于S60软件汉化有兴趣的人越来越多了,这对于我们中国人来说是个非常好的现象,如今的软件绝大多数是英文的,虽然用起来也不是很费力(那证明咱们有一定的英文知识水平:)但是英文水平再高也没有看着咱们自己的母语舒服啊,所以说汉化是一项必然要做的工作。

    在这里讲的是难度相对较高的ASCII码软件的汉化,Unicode码的在此就不多说了。




二、关于ASCII  


     
现在软件中的字符串大致分为两种:Unicode码&ASCII码,在Unicode码中一个符号、一个英文字母和一个汉字都是占用2个字节,而在ASCII编码中一个符号和一个英文字母只占用1个字节,而一个汉字仍然要占用2个字节,正由于这一点的不同,现在使用ASCII码的英文软件渐渐多起来,因为ASCII码能让软件的体积更小开发起来更方便。



三、汉化ASCII码的原理
 

     
先用Unmakesis工具把.sis软件解压,我们要汉化的资源基本都在解压后的.rsc&.app这两种文件中,也有可能在其他文件当中,那要视软件而定,而ASCII编码的基本存在于.rsc文件中。
    用16进制编辑工具Hex WorkShop打开.rsc的文件,如图一所示则为ASCII编码的,如图二所示则为unicode编码的,相信大家能有所区别

下面说一下汉化的原理:
如图所示:“setting”的ASCII字符串为

08 08 53 65 74 74 69 6E 67 73
其中第一个08表示此字符串一共有8个字符
其中第二个08表示此字符串一共有8个字节
其中第三个53在ASCII码中表示英文字母“s”
其中第三个65在ASCII码中表示英文字母“e”
其中第三个74在ASCII码中表示英文字母“t”
...


那么如图把“setting”汉化成中文“设置”的ASCII码是:


03 08 0F 8B BE 7F 6E 00 20 E0
其中第一个04表示此字符串一共有3个字符(“设置”+“一个空格”一共是3个字符)
其中第二个08表示此字符串一共有8个字节
其中第三个0F表示在此之后为Unicode字符串
其中第四、五个8B BE在Unicode码中表示汉字“设”
其中第六、七个7F 6E在Unicode码中表示汉字“置”
其中第八、九个00 20在Unicode码中表示为“空格”
最后一个E0代表在此之后为ASCII码,如果字符串到此为止,那么这个E0也可以写成00


ASCII码汉化的大致原理就是这样,当然例外的情况还有很多,那要视情况而定。
如“Help”的ASCII码字符串为:
04 04 48 65 6C 70
其分析方法如上,如果汉化成“帮助”的ASCII编码为:
02 05 0F 5E 2E 52 A9
这时你会发现汉化后的字符串比原来的多出一个字节,如果这样汉化后会导致程序错误,那么该如何解决呢?这里有一个最常用也是最简便的一个方法:那就是把其它字符串没有用到的多出来的字节剪切到缺少字节的地方
刚才那个“setting”汉化后的字符串:
08 0F 8B BE 7F 6E 00 20 00
这里的结尾出多出个空格00 20和一个没用的空字节00,等于一共多出3个,哈哈,那就不客气了,拿来一个字节00用先!把00剪切到“Help”的字符串后面就成为:
04 48 65 6C 70 00

这样回过头来再汉化成“帮助”:
05 0F 5E 2E 52 A9
字符串就一样长了哦:)

你从人家“setting”那里剪切了一个字节,那么千万别忘了把它的字节数改正过来!!!否则会导致程序错误,改过后“设置”的ASCII字符串应为
03 07 0F 8B BE 7F 6E 00 20


注意这种互借字节的方法只能用在软件选项中的同级目录中,如图中的“帮助”可以从“设置”中借字节,也可以从“控制”中借,不能从子目录“选择时间”中借!!总之在同一目录下有多余字节的地方借就可以了




四、汉化的具体操作



      用Hex WorkShop打开要汉化的文件,然后就可以直接修改里面的字体编码,至于到哪里去得到汉字、符号、字母的Unicode代码,这有很多方法,可以用Hex WorkShop的替换功能,也可以用小狗狗ResEditor随便打开一个文件,然后用小狗的替换功能就可以了,方法多种就看你喜欢哪种方式了,我比较喜欢用小狗狗ResEditor&Hex WorkShop相结合着用,效率还可以,如图

需要注意的是不管我们用那种方法查到的汉字、符号、字母的Unicode代码都是与我们要输入的代码是相反的,如我们查到汉字“设”的Unicode代码为“BE 8B”们在修改时要倒过来输入为“8B BE”,这样在软件里才能正常显示“设”
    汉化是一项需要耐心的工作,不能烦不能躁,更要细心,避免一些不必要的小错误,还有就是在汉化的过程中要注意随时做好备份工作&测试,不然哪里出现一些细小的错误或是家里突然停电(我家就常是,哭都没地方。。)而造成汉化半途而废,如果说真的遇见汉化错误而又不知是哪里错了,那么我推荐你用Hex WorkShop的比较功能来把你有错误的文件与没有错误的文件对比一下,也许你能找到原因,如图:





五、最后要说的


      这个教程只是一个汉化ASCII码软件的入门教程,都是最基本的,也可以说是我自己总结的一些汉化经验拿出来与大家分享,希望对于那些刚开始学习汉化的朋友有些帮助。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值