【问题标题】:convert ascii of every character in string to binary将字符串中每个字符的ascii转换为二进制
【发布时间】:2020-03-05 05:23:07
【问题描述】:

所以我正在尝试创建一个程序,它获取用户输入字符串中字符的各个 ascii 值,加 1,然后将该新数字转换为二进制。

例如,如果用户输入“abcde”,我需要输出为

1100010 1100011 1100100 1100101 1100110

用这样的空格分隔二进制值。现在,我到目前为止所拥有的是

text = input()
for ch in text:
    new = ord(ch) + 1

    decimal = new
    bitString = ''
    while decimal > 0:
        remainder = decimal % 2
        decimal = decimal // 2
        bitString = str(remainder) + bitString

print(bitString)

这给了我最后一个字符输入的二进制文件(所以如果用户输入“abcde”,它会给出 ascii 值加 1 的二进制文件),但是我怎样才能让它对所有字符都这样做呢?

【问题讨论】:

    标签: python python-3.x loops input binary


    【解决方案1】:

    您需要在for 循环开始之前将bitstring 声明为空字符串,在它之外。否则,每次循环运行时它都会被清空,这就是为什么只打印最后一个值。您也可以使用bin 函数代替ord,它会立即为您提供二进制表示。

    【讨论】:

    • 好的,所以我将 bitString 放在 for 循环之外,现在它给我的输出是 11001101100101110010011000111100010。如何让二进制值用空格分隔?
    • 显然给bitString加一个空格……然后打印出来就会有空格
    猜你喜欢
    • 2014-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-30
    • 2012-07-20
    相关资源
    最近更新 更多