我想将字符串转换为字节字符串。字符串完全以这种形式出现。 'сp1251'编码。怎么做对?
str = 'см³'
bytes(str, 'cp1251')
结果,我得到了
UnicodeEncodeError:“ charmap”编解码器无法在其中编码字符“ \ xb3” 位置2:字符映射到
答案 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'))