今天我订购了7种不同语言的翻译,其中4种看起来很棒,但当我打开其他3种语言,即希腊语,俄语和韩语时,那里的文字与任何语言无关一点都不它看起来像一堆错误字符,就像你在文件上有错误的编码时那样。
例如,这是韩语翻译输出的一部分:
½Ì±ÛÇ÷¹À̾î
¸ÖƼÇ÷¹À̾î
¿É¼Ç
我甚至可能不会说一些韩语,但我可以肯定地告诉你不是韩国人。
我认为这是一个文件编码问题,当我在记事本中打开文件时,编码被列为ANSI,这显然是一个问题;其他两种语言也是如此。
有没有人对如何修复这3个文件的编码有任何想法;我要求译员重新上传UTF-8,但与此同时,我想我可能会尝试自己解决。
如果有人有兴趣查看实际文件,您可以get them from my Dropbox。
答案 0 :(得分:2)
如果你把字节流视为字节对,它们看起来很模糊,但我不知道它们是你期望与否。
bash$ python3.4
Python 3.4.3 (v3.4.3:b4cbecbc0781, May 30 2015, 15:45:01)
[GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> buf = '½Ì±ÛÇ÷¹À̾î'
>>> [hex(ord(b)) for b in buf]
>>> ['0xbd', '0xcc', '0xb1', '0xdb', '0xc7', '0xc3', '0xb7', '0xb9', '0xc0', '0xcc', '0xbe', '0xee']
>>> u'\uBDCC\uB1DB\uC7C3\uB7B9\uC0CC\uBEEE'
'뷌뇛쟃랹샌뻮'
您最好的办法是等待翻译人员上传UTF-8版本或让他们告诉您文件的编码。我不会假设它们的字节只是16位字符。
<强>更新强>
我通过chardet模块传递了它,并将字符集检测为EUC-KR。
>>> import chardet
>>> chardet.detect(b'\xBD\xCC\xB1\xDB\xC7\xC3\xB7\xB9\xC0\xCC\xBE\xEE')
{'confidence': 0.833333333333334, 'encoding': 'EUC-KR'}
>>> b'\xBD\xCC\xB1\xDB\xC7\xC3\xB7\xB9\xC0\xCC\xBE\xEE'.decode('EUC-KR')
'싱글플레이어'
据谷歌翻译,第一行是#34;单人游戏&#34;。尝试用记事本打开它并使用EUC-KR作为编码。