我有一些CSV文件需要从shift-jis转换为utf-8。
这是我用PHP编写的代码,可以成功将代码转码为可读文本。
$str = utf8_decode($str);
$str = iconv('shift-jis', 'utf-8'. '//TRANSLIT', $str);
echo $str;
我的问题是如何在Python中执行相同的操作。
python大神给出的解决方案
我不了解PHP,但是可以做到这一点:
mystring.decode('shift-jis').encode('utf-8') ?
另外,我假设CSV内容来自文件。有一些在python中打开文件的选项。
with open(myfile, 'rb') as fin
将是第一个,您将按原样获取数据
with open(myfile, 'r') as fin
将是默认的文件打开
我也尝试了使用shift-js文本进行计算,以下代码有效:
with open("shift.txt" , "rb") as fin :
text = fin.read()
text.decode('shift-jis').encode('utf-8')
结果是UTF-8中的以下内容(无任何错误)
' \xe3\x81\xa6 \xe3\x81\xa7 \xe3\x81\xa8'
好吧,我验证我的解决方案:)
第一个字符确实是个好字符:“ \ xe3 \ x81 \ xa6”表示“ E3 81 A6”
它给出正确的结果。
您可以在此URL尝试一下