相关疑难解决方法(0)

将二进制转换为ASCII,反之亦然

使用此代码获取字符串并将其转换为二进制:

bin(reduce(lambda x, y: 256*x+y, (ord(c) for c in 'hello'), 0))
Run Code Online (Sandbox Code Playgroud)

这个输出:

0b110100001100101011011000110110001101111
Run Code Online (Sandbox Code Playgroud)

哪个,如果我把它放到这个网站(在右边的网站上),我得到了我的hello回信息.我想知道它使用什么方法.我知道我可以将二进制字符串拼接成8位,然后将其与相应的值bin(ord(character))或其他方式匹配.真的在寻找更简单的东西.

python binary ascii

72
推荐指数
3
解决办法
21万
查看次数

如何在python中将二进制字符串转换为ascii字符串?

我做了一个小python程序,从文件读取二进制文件并将其存储到文本文件,读取文本文件并存储二进制文件.但是,我无法让二进制文件工作......它读取这样的文件:

f_bin = open(bin_file,"rb")
to_bin_data = f_bin.read()
bin_data = bin(reduce(lambda x, y: 256*x+y, (ord(c) for c in to_bin_data), 0))
f_bin.close()
Run Code Online (Sandbox Code Playgroud)

这个对我不起作用... 将二进制转换为ASCII,反之亦然

像这样的网页:http://www.roubaixinteractive.com/PlayGround/Binary_Conversion/Binary_To_Text.asp

编辑:我现在为它做了一个很长的if else脚本,但感谢你的答案

python binary ascii

6
推荐指数
2
解决办法
3万
查看次数

如何将base64字符串直接解码为二进制音频格式

音频文件通过API发送给我们,该API是Base64编码的PCM格式。我需要将其转换为PCM,然后转换为WAV进行处理。

我能够使用以下代码解码->保存到pcm->从pcm读取->另存为wav。

decoded_data = base64.b64decode(data, ' /')
with open(pcmfile, 'wb') as pcm:
    pcm.write(decoded_data)
with open(pcmfile, 'rb') as pcm:
    pcmdata = pcm.read()
with wave.open(wavfile, 'wb') as wav:
    wav.setparams((1, 2, 16000, 0, 'NONE', 'NONE'))
    wav.writeframes(pcmdata)
Run Code Online (Sandbox Code Playgroud)

如果我可以将输入字符串解码为二进制并将其另存为wav,会容易得多。所以我在python中将字符串转换为二进制中 做了类似的事情

  decoded_data = base64.b64decode(data, ' /')
    ba = ' '.join(format(x, 'b') for x in bytearray(decoded_data))
    with wave.open(wavfile, 'wb') as wav:
        wav.setparams((1, 2, 16000, 0, 'NONE', 'NONE'))
        wav.writeframes(ba)
Run Code Online (Sandbox Code Playgroud)

但是我错a bytes-like object is required, not 'str'wav.writeframes

也尝试过base54.decodebytes()并得到相同的错误。

正确的方法是什么?

python base64 decode wav python-bytearray

6
推荐指数
1
解决办法
998
查看次数

python字节到位串

我有bytes需要转换为的类型的值BIT STRING

bytes_val = (b'\x80\x00', 14)

索引零中的字节需要转换为长度由第二个元素(在本例中为 14)指示的位串,并格式化为如下所示的 8 位组。

预期输出 => '10000000 000000'B

另一个例子

bytes_val2 = (b'\xff\xff\xff\xff\xf0\x00', 45) #=> '11111111 11111111 11111111 11111111 11110000 00000'B
Run Code Online (Sandbox Code Playgroud)

python byte bitstring

4
推荐指数
1
解决办法
797
查看次数

Python 2.5将字符串转换为二进制

我知道这在python 2.6中很容易实现.但是在Python 2.5中最简单的方法是什么?

x = "This is my string"
b = to_bytes(x)  # I could do this easily in 2.7 using bin/ord 3+ could use b"my string"
print b
Run Code Online (Sandbox Code Playgroud)

有什么建议?我想拿x并把它变成

00100010010101000110100001101001011100110010000001101001011100110010000001101101011110010010000001110011011101000111001001101001011011100110011100100010

python python-2.5

3
推荐指数
1
解决办法
9501
查看次数

标签 统计

python ×5

ascii ×2

binary ×2

base64 ×1

bitstring ×1

byte ×1

decode ×1

python-2.5 ×1

python-bytearray ×1

wav ×1