在python中将二进制文件转换为utf-8

2024-04-18 09:13:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个这样的二进制: 1101100110000110110110011000001011011000101001111101100010101000

我想把它转换成utf-8。 我怎么能用python做这个?


Tags: 二进制utf
2条回答
>>> s='1101100110000110110110011000001011011000101001111101100010101000'
>>> print (''.join([chr(int(x,2)) for x in re.split('(........)', s) if x ])).decode('utf-8')
نقاب
>>> 

或者,相反:

>>> s=u'نقاب'
>>> ''.join(['{:b}'.format(ord(x)) for x in s.encode('utf-8')])
'1101100110000110110110011000001011011000101001111101100010101000'
>>> 

清洁剂版本:

>>> test_string = '1101100110000110110110011000001011011000101001111101100010101000'
>>> print ('%x' % int(test_string, 2)).decode('hex').decode('utf-8')
نقاب

反面(摘自@Robᵩ的评论):

>>> '{:b}'.format(int(u'نقاب'.encode('utf-8').encode('hex'), 16))
1: '1101100110000110110110011000001011011000101001111101100010101000'

相关问题 更多 >