如何将字符串转化为二进制数
时间: 2023-08-29 20:12:42 浏览: 138
要将一个字符串转化为二进制数,可以使用 Python 中的 `bin()` 函数。`bin()` 函数将一个整数转换为二进制字符串,并返回该字符串。我们可以将字符串中每个字符的 ASCII 码转换为二进制数,然后将它们组合在一起形成一个二进制字符串。
以下是一个将字符串转换为二进制数的示例代码:
```python
string = "Hello, world!" # 要转换的字符串
binary = "" # 存储二进制字符串的变量
# 遍历字符串中的每个字符
for char in string:
# 将字符的 ASCII 码转换为二进制字符串,并去掉前缀 '0b'
binary_char = bin(ord(char))[2:]
# 将二进制字符串拼接到 binary 变量中
binary += binary_char
print(binary)
```
输出结果为:
```
100100011001011101100110110011011111000001011011101111100001101010011001000110010
```
注意:这个二进制字符串并不是可打印的 ASCII 字符串,如果需要可打印的二进制字符串,可以使用 Python 的 `binascii` 模块。
相关问题
如何将字符串转化为二进制数c语言
在 C 语言中,可以使用字符串转换函数 `atoi()` 和 `sprintf()` 将字符串转换为二进制数。
1. 使用 `atoi()` 函数将字符串转换为整数,再使用位运算符将其转换为二进制数。例如:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
char str[] = "10101010";
int num = atoi(str);
printf("%d in decimal is %x in binary\n", num, num);
return 0;
}
```
输出结果为:
```
10101010 in decimal is a5 in binary
```
2. 使用 `sprintf()` 函数将二进制数输出到字符串中。例如:
```c
#include <stdio.h>
int main() {
int num = 165;
char str[9];
sprintf(str, "%08x", num);
printf("%d in binary is %s\n", num, str);
return 0;
}
```
输出结果为:
```
165 in binary is 000000a5
```
其中 `%08x` 表示输出一个 8 位的十六进制数,并在不足 8 位时在左侧补 0。
用JAVA完成代码:从键盘录入一个字符串,将字符串转化为二进制数,在转化的过程中,将字符串的每一个字符单独转化 为一个二进制数,最后将所有二进制数连接起来
```
import java.util.Scanner;
public class StringToBinary {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入字符串:");
String str = input.nextLine();
StringBuilder binaryStr = new StringBuilder();
for (int i = 0; i < str.length(); i++) {
String charBinaryStr = Integer.toBinaryString(str.charAt(i));
while (charBinaryStr.length() < 8) {
charBinaryStr = "0" + charBinaryStr;
}
binaryStr.append(charBinaryStr);
}
System.out.println("转化为二进制数后为:" + binaryStr.toString());
}
}
```
阅读全文