问题描述
我用utf-8打开了文件,但是如果文件包含韩文,则无法解码。我该怎么办?
generated_file = open("runcode.py","w",encoding='utf-8')
outputData = subprocess.check_output("python runcode.py",shell = True)
outputData = outputData.decode('utf-8')
示例
b'20\xba\xb8\xb4\xd9 \xc0\xdb\xc0\xbd\r\n'
解决方法
问题中的字节可以使用Python codecs documentation中列出的标准编码中的多种编码进行解码。
>>> bs = b'20\xba\xb8\xb4\xd9 \xc0\xdb\xc0\xbd\r\n'
>>> print(bs.decode('cp949'))
20보다 작음
>>> print(bs.decode('euc_kr'))
20보다 작음
>>> print(bs.decode('johab'))
20줮얯 첕챻
请注意,输出并不总是相同的-字节可能以不同的编码方式编码不同的字符。您可能需要对较大的样本进行试验,以确定环境中使用的是哪种编码。