怎么把unicode转换成koi8-r?

时间:2019-02-25 08:13:03

标签: python-3.x

我将数据写入数据库,所以我想以低权重的格式写入行。 utf8中俄语的一个字符占2个字节,而koi8-r编码中的一个字符仅占1个字节(我只对俄语和英语字母感兴趣,其他字符可以忽略)。

在Python中,我将英语-俄语字符串转换为koi8-r时,得到了一个奇怪的序列:

utf = 'My string, Моя строка'
koi = utf.encode(encoding='koi8-r', errors='ignore')
  

koi字节:b'我的字符串,\ xed \ xcf \ xd1   \ xd3 \ xd4 \ xd2 \ xcf \ xcb \ xc1'

当我将这些值写入数据库时​​,出现写入错误。 如何以“小格式”转换数据?

1 个答案:

答案 0 :(得分:0)

代码工作正常,您将其转换为字节,因此出现错误,您可以通过以下简单方法检查代码是否正常:

utf = 'My string, Моя строка'
koi = utf.encode(encoding='koi8-r', errors='ignore')

print(koi)

print(koi.decode("koi8-r"))

输出将是:

'My string, Моя строка'