将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

将十六进制 unicode 字符转换为其可视化表示

在python中从十六进制字符转换为Unicode字符

如何在 C++ 中将字符串从十进制代码转换为西里尔文/unicode16?

如何在MATLAB中将原始Unicode十六进制转换为Unicode表示

如何在 C++ 中将字符的十进制代码转换为 Unicode 字符串?