Python中有像iconv这样的函数吗? - python

我有一些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尝试一下