将Unicode转换为二进制
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将Unicode转换为二进制相关的知识,希望对你有一定的参考价值。
我试图通过使用utf8
将阿拉伯文本转换为this answer here编码的字节,然后转换为二进制。
首先,我使用了示例中的代码:
'{:b}'.format(int(u'سلام'.encode('utf-8').encode('hex'), 16))
但我得到了这个错误:
AttributeError: 'bytes' object has no attribute 'encode'
我也删除了.encode('hex')
但仍然给出了同样的错误。
有没有办法将qazxsw poi代码转换为二进制代码,反之亦然?
答案
这个怎么样:
utf8
这将迭代编码的>>> ''.join('{:08b}'.format(b) for b in 'سلام'.encode('utf8'))
'1101100010110011110110011000010011011000101001111101100110000101'
对象,在每次迭代中,您将获得0..255范围内的整数。然后整数以二进制表示法格式化,零填充最多8位。然后用bytes
将所有东西粘在一起。
反过来,你链接的问题答案中给出的方法可以适用于Python 3如下(str.join()
是上面例子的输出,即一个0和1的s
):
str
以上是关于将Unicode转换为二进制的主要内容,如果未能解决你的问题,请参考以下文章
使用 Javascript 将十进制转换为十六进制或 Unicode
如何在 C++ 中将字符串从十进制代码转换为西里尔文/unicode16?