我想要做这件事情:
获取这个utf-8字符串的字节:
访视频
将这些字节用latin-1编码并打印结果:
访视频
如何在Python中实现这个功能?
# -*- coding: utf-8
s = u'访视频'.encode('latin-1')
引发此异常的原因:
s = u'访视频'.encode('latin-1')
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 0-2: ordinal not in range(256)
s.encode('latin-1').decode('utf-8')
在这个例子中显然是有效的,但是在我的实际代码库中,我遇到了一个更大的问题,我无法确定原因。 - OregonTrail\x86
和\x91
是不可打印的控制字符,而不是†
和‘
,在Latin-1中没有任何东西是†
或‘
。因此,当然"访视频".encode('latin-1')
会给你一个异常。但是,如果你使用答案中解释的encode('cp1252')
,它就可以正常工作。 - abarnert