Опитвам се да отпечатам съдържанието на даден файл. Командата "file -bi filename" дава "text / plain; charset = iso-8859-1". Файлът има низове като "ÂÔØ¡ ¢ ° ² × ° ¡¢ Æ Æ Æ Æ Æ Æ Æ Æ Æ Æ Æ ¢ ¢ ¥ ¥" китайски йероглифи. Опитах ги на Python shell
string="ÏÂÔØ¡¢°²×°¡¢¸´ÖÆ¡¢·ÃÎÊ¡¢µ¥»÷¡°½ÓÊÜ¡±°´Å¥£¬»òÒÔÆäËû·½Ê½Ê¹ÓóÌÐò"
a= string.decode("iso-8859-1")
b=a.encode("utf-8")
print b
и
print( string.decode("iso-8859-1").encode("utf-8"))
и
source_encoding = "iso-8859-1"
string = string.encode(source_encoding)
string = unicode(string, "utf-8")
Но аз не мога да видя китайските символиекран, вместо това видях "à à à à ¡ ²  ° ²à  ° ¡ ¢ ¸´à à ¡ · à à à ¡ В ¢ Âμ ¥  »Ã ¡à · ° ½ÃÃá ±  ° Â'ॠ £ ¬» òÃÃÃäÃà »В · ½Ã½Ã¹ÃóÃÃò " Използвах онлайн инструмент http://www.mdbg.net/chindict/chindict.php и избрах Текущо кодиране: iso-8859-1 и оригиналното кодиране GB18030 и видях резултат като ...
Може ли някой да ми предложи начин за показване на тези низове на китайски език, използвайки питон команди? Благодаря предварително
Отговори:
1 за отговор № 1Както предлага онлайн инструментът, file
вероятно е грешен, тъй като само „предполага“ кодирането. Използвайки gb18030
тъй като кодирането дава правилния резултат:
>>> s = "ÏÂÔØ¡¢°²×°¡¢¸´ÖÆ¡¢·ÃÎÊ¡¢µ¥»÷¡°½ÓÊÜ¡±°´Å¥£¬»òÒÔÆäËû·½Ê½Ê¹ÓóÌÐò"
>>> print s.decode("gb18030")
下载、安装、复制、访问、单击“接受”按钮,或以其他方式使用程序