二进制字符串转String
时间: 2023-07-09 17:24:07 浏览: 89
将给定的二进制字符串先按8位一组分割成子串,然后将每个子串转换为对应的 ASCII 码,并将它们拼接在一起即可得到字符串。下面是一个 Python 的实现示例:
```python
def binary_to_string(binary_str):
# 将二进制字符串分割成8位一组的子串
substrings = [binary_str[i:i+8] for i in range(0, len(binary_str), 8)]
# 将每个子串转换为对应的 ASCII 码,并拼接成字符串
return ''.join([chr(int(s, 2)) for s in substrings])
```
示例输入:`"0110100001100101011011000110110001101111"`
示例输出:`"hello"`
相关问题
c# 二进制字符串转十六进制字符串
在 C# 中,你可以通过 `BitConverter` 类将二进制字符串转换为十六进制字符串。以下是一个简单的示例:
```csharp
using System;
using System.Text;
public string BinaryToHex(string binaryString)
{
byte[] bytes = new byte[binaryString.Length / 8];
for (int i = 0; i < binaryString.Length; i += 8)
{
int value = Convert.ToInt32(binaryString.Substring(i, 8), 2);
bytes[i / 8] = (byte)value;
}
return BitConverter.ToString(bytes).Replace("-", "");
}
```
这个函数首先创建一个字节数组,然后按照每8位二进制组成一个整数,并将其存储到字节数组中。接着,它使用 `BitConverter.ToString()` 将字节数组转换为十六进制字符串。最后,删除结果中的短横线 `-`,因为它们不是有效的十六进制字符。
如果你想测试一下,可以这样调用该函数:
```csharp
string binaryString = "0101010101010101";
string hexString = BinaryToHex(binaryString);
Console.WriteLine(hexString); // 输出 "0D0D0D0D"
Java 二进制字符串转16进制字符串
要将Java中的二进制字符串转换为十六进制字符串,你可以使用以下方法:
```java
public static String binaryToHex(String binaryString) {
// 将二进制字符串转换为整数
int decimal = Integer.parseInt(binaryString, 2);
// 将整数转换为十六进制字符串
String hexString = Integer.toHexString(decimal);
return hexString;
}
```
你可以调用这个方法,并将二进制字符串作为参数传递给它,它将返回相应的十六进制字符串。
例如:
```java
String binaryString = "10101010";
String hexString = binaryToHex(binaryString);
System.out.println(hexString); // 输出 "AA"
```
这个方法使用了`Integer.parseInt`函数将二进制字符串解析为整数,并使用`Integer.toHexString`函数将整数转换为十六进制字符串。
阅读全文