繁体   English   中英

在utf8中编码字节字符串

[英]Encode byte string in utf8

如何将具有非ascii字节的字节字符串编码为utf8格式? 例如:

x = zlib.compress(pickle.dumps(numpy.random.rand(10, 10)))

# What to do here?
y = x.encode('utf8')

这会给我一个错误,指出某些字节不在range(128)之内。 我应该做些什么?

您必须确定非ASCII字节指的是什么代码点。 例如,字节0xA1指的是什么代码点?

例如,您可以使用任何iso-8859-X编码:

bytes = chr(161)
utf8 = bytes.decode('iso-8859-1').encode('utf-8')
# compare with: utf8 = bytes.decode('iso-8859-2').encode('utf-8')

请注意,编码的选择有所不同-在iso-8859-1下,字节0xA1编码为u'\\xc2\\xa1'但是在iso-8859-2下,字节0xA1编码为u'\\xc4\\x84'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM