内容简介:由于excite关闭了网页翻译功能,google的网页翻译有时候也不太灵光,就去看了下jbeijing的翻译API调用,正好VNR中已有相关代码,就学习一下。这段代码是调用JBJCT.dll中的方法(看注释大神是用IDA反编译dll在看函数的参数),功能是将unicode文本从日文翻译成中文,下面是运行效果
由于excite关闭了网页翻译功能,google的网页翻译有时候也不太灵光,就去看了下jbeijing的翻译API调用,正好VNR中已有相关代码,就学习一下。
def transferUnicode(self, text, to, fr=CODEPAGE_JA): """ @param text unicode not str @param to uint code page @param fr uint code page @raise WindowsError, AttributeError From IDA: int __cdecl JC_Transfer_Unicode(int, UINT CodePage, int, int, int, LPCWSTR lpWideCharStr, int, int, int, int) Values are get by runtime debugging. Guessed int __cdecl JC_Transfer_Unicode( HWND hwnd, UINT fromCodePage, UINT toCodePage, int unknown, int unknown, LPCWSTR from, LPWSTR to, int &toCapacity, LPWSTR buffer, int &bufferCapacity) Note: This function is not thread-safe! Using persistent buffers is faster, but not thread-safe! """ size = BUFFER_SIZE if self.BUFFER_THREAD_SAFE: # Limit buffer size would result in crash ... no idea why #size = min(size, len(text) * 10) # the translation should be no more larger than 10 times of Japanese out = ctypes.create_unicode_buffer(size) buf = ctypes.create_unicode_buffer(size) else: out = self.buffer1 buf = self.buffer2 outsz = ctypes.c_int(size) bufsz = ctypes.c_int(size) #self.dll.JC_Transfer_Unicode( self.JC_Transfer_Unicode( 0, # int, unknown fr, # uint from, supposed to be 0x3a4 (cp932) to, # uint to, eighter cp950 or cp932 1, # int, unknown 1, # int, unknown text, out, # wchar_t* ctypes.byref(outsz), # ∫ buf, # wchar_t* ctypes.byref(bufsz)) # ∫ return out.value
这段代码是调用JBJCT.dll中的方法(看注释大神是用IDA反编译dll在看函数的参数),功能是将unicode文本从日文翻译成中文,下面是运行效果
结果
实际运用中发现一个问题,翻译的文本是有上限的,如果原文是太长的文章,返回的译文可能会缺失(大概5k以上不行)
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- golang调用baidu翻译api实现自动翻译
- 基于 Laravel、Lumen 框架集成百度翻译、有道翻译、Google 翻译扩展包
- 腾讯发布人工智能辅助翻译 致敬人工翻译
- 监管机器翻译质量?且看阿里如何搭建翻译质量评估模型
- 机器翻译新突破:谷歌实现完全基于attention的翻译架构
- PendingIntent 是个啥?官方文档描述的很到位。我给翻译翻译
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
叠加体验:用互联网思维设计商业模式
穆胜 / 机械工业出版社 / 2014-11 / 39.00
本书在互联网思维改变一切的背景下,详细介绍了如何运用互联网思维重构商业模式,主要包括以下内容:①互联网经济中的商业逻辑(即“互联网思维”),不仅给出了消费方面的逻辑变革,还给出了在生产端的逻辑变革以及“跨界”的逻辑变革。②给出了一个“三层产品体验模型”,厘清了互联网思维,打造完美终端、云端服务和价值群落三层体验,企业可以选择做不同层面的体验组合,这即是选择了不同的市场策略。但是,企业要基业长青,终......一起来看看 《叠加体验:用互联网思维设计商业模式》 这本书的介绍吧!
JSON 在线解析
在线 JSON 格式化工具
RGB转16进制工具
RGB HEX 互转工具