将字符串转换为字节字符串

时间:2019-07-16 04:26:20

标签: python-3.x

我想将字符串转换为字节字符串。字符串完全以这种形式出现。 'сp1251'编码。怎么做对?

str = 'см³' 
bytes(str, 'cp1251')

结果,我得到了

  

UnicodeEncodeError:“ charmap”编解码器无法在其中编码字符“ \ xb3”   位置2:字符映射到

1 个答案:

答案 0 :(得分:0)

您可以在文本模式下编写字符串s,Python 3中已经对Unicode字符串处理进行了标准化,并且它是自动完成的(从内存中自动执行32位Unicode到utf-8的转换(变量{{1} })归档:

s

打印:

s = 'см³'

# with text-mode:

with open('file.txt', 'w') as f_out:
    f_out.write(s)

print(open('file.txt', 'r').read())

如果要具体说明,可以使用二进制模式см³ 标志从文件中读取/写入文件:

b

打印:

# with binary-mode:

with open('file.txt', 'wb') as f_out:
    f_out.write(s.encode('utf-8'))

print(open('file.txt', 'rb').read().decode('utf-8'))