查看完整版本: [-- 如何用非标字串宏增加原字符串的长度? --]

汉化新世纪论坛 -> 翻译交流 -> 如何用非标字串宏增加原字符串的长度? [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

闭建长 2016-04-17 22:19

如何用非标字串宏增加原字符串的长度?

  我不太懂用非标宏,在汉化一个AE插件界面的UTF-8编码字串时,有一个字串乱码:Flip,插件界面截图如下:

[attachment=33057]



闭建长 2016-04-17 22:19
[attachment=33058]

中正 2016-04-17 23:08
自动增加,不用你去增加

闭建长 2016-04-18 00:34
中正:自动增加,不用你去增加 (2016-04-17 23:08) 

我知道会自动挪移

闭建长 2016-04-18 21:49
中正:自动增加,不用你去增加 (2016-04-17 23:08) 

我是说移位写入还是乱码,需要加长字符串的长度然后挪移才不会乱码?

中正 2016-04-18 22:19
你自己都知道自动挪移,难道还不清楚吗?你这不是自相矛盾吗?

闭建长 2016-04-22 14:38
中正:你自己都知道自动挪移,难道还不清楚吗?你这不是自相矛盾吗? (2016-04-18 22:19) 

知道我还用问吗?不加成字符长度,就算什么挪移都乱码

wanfu 2016-04-22 14:42
加长不是太简单了啊,可以增加空格啊。非标宏的右键菜单中有专门这个功能(版本2016.02.22及以上)
顺便问一句,如果翻译短了会乱码,那长了会不会乱码?
还有,翻译短了会乱码,估计字串有长度标识符(字串前或引用地址),如果有可以手动修改一下试试看。
如果确实有长度标识符,可以自定义一个字串类型,然后重新提取字串,这样写入翻译时会自动修改。



闭建长 2016-05-16 16:43
老师你好,这个Flip是长度是4,翻译成翻转长度是6,我用UTF-8汉化,就是这个字符串会乱码,有几个会乱码在E3D的场景设置界面,如果只翻译成翻-当然不会乱码,翻的长度3

wanfu 2016-05-17 17:55
估计有长度标识符,请贴出 Flip 这个字串前后16个字节以上的所有字节图,以便分析。


闭建长 2016-08-19 16:45
[attachment=33272]

闭建长 2016-08-19 16:54
非标宏提取字符串很慢,是不是SDL不是正版的原因

[attachment=33273][attachment=33273]

闭建长 2016-08-19 17:02
[attachment=33274][attachment=33274]

闭建长 2016-08-19 17:03
[attachment=33275][attachment=33275]

闭建长 2016-08-19 17:03
[attachment=33276][attachment=33276]

闭建长 2016-08-19 17:05
29535A00


[attachment=33277]

闭建长 2016-08-19 17:07
3FD35800
[attachment=33278]

闭建长 2016-08-19 17:08
A3CA5800

[attachment=33279]

闭建长 2017-04-11 13:55
[attachment=33510]

wanfu 2017-04-12 18:15
第一个引用地址前有040000,其值为4,正好和原文的字节长度一样,可能为字串长度标识符,手动修改成翻译字节数,如果成功,再自定义一个引用地址前的字串类型,让非标宏来自动处理。

wanfu 2017-04-13 16:06
那就写个函数获取父文件夹路径。请参考以下帖子:
http://bbs.hanzify.org/read-htm-tid-173533-ds-1-page-1.html#400503

闭建长 2017-04-13 22:25
wanfu:估计有长度标识符,请贴出 Flip 这个字串前后16个字节以上的所有字节图,以便分析。  (2016-05-17 17:55) 

有长度标志符,对于 Delphi 非标字串在挪移操作时,需要记得修改原字串前的长度标识符,就是不知道用怎么修改,你那非标宏卡死汉化不了,但用UE可以修改原字串前的长度标识符吗?

闭建长 2017-04-13 22:27
闭建长:有长度标志符,对于 Delphi 非标字串在挪移操作时,需要记得修改原字串前的长度标识符,就是不知道用怎么修改,你那非标宏卡死汉化不了,但用UE可以修改原字串前的长度标识符吗? (2017-04-13 22:25) 

原始字串    Flip        
    原始字串所在节名    .rdata        
    原始字串开始地址    7764860        
    原始字串结束地址    7764863        
    原始字串最大地址    7764879        
    原始字串字节长度    4        
    原始字串最大允许字节长度    19        
    原始字串代码页    1252        
    原始字串引用代码    A1545A00,D7D35800,3BCB5800        
    原始字串引用地址    1846999,1945505,1947709        
    原始字串跟随引用地址的字串类型    0,0,0        
    原始字串引用次数    3        
    原始字串的字串类型字节长度    0        
    翻译字串    Flip        
    翻译字串所在节名    .rdata        
    翻译字串开始地址    7764860        
    翻译字串结束地址    7764863        
    翻译字串最大地址    7764879        
    翻译字串字节长度    4        
    翻译字串最大允许字节长度    19        
    翻译字串代码页    1252    

闭建长 2017-04-14 15:54
wanfu:第一个引用地址前有040000,其值为4,正好和原文的字节长度一样,可能为字串长度标识符,手动修改成翻译字节数,如果成功,再自定义一个引用地址前的字串类型,让非标宏来自动处理。 (2017-04-12 18:15) 

手动修改程序会崩溃


查看完整版本: [-- 如何用非标字串宏增加原字符串的长度? --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Time 0.014526 second(s),query:3 Gzip disabled