📜  c# 字符串转二进制 - C# (1)

📅  最后修改于: 2023-12-03 15:13:51.207000             🧑  作者: Mango

C#字符串转二进制

在C#中,字符串可以被转换成二进制格式,这可以帮助我们在处理字符串数据时进行更高效的操作,下面是一些方法和示例。

使用Encoding类

C#中的Encoding类提供了许多用于字符串编码和解码的方法。其GetBytes()方法可以将字符串转换成二进制格式。

示例代码:

string str = "Hello World";
byte[] bytes = Encoding.ASCII.GetBytes(str);

上面代码将字符串"Hello World"转换成ASCII编码格式的二进制数据。

使用Convert类

另一个将字符串转换成二进制格式的方法是使用Convert类中的ToByte()方法。

示例代码:

string str = "10101010";
byte[] bytes = new byte[str.Length / 8];

for (int i = 0; i < str.Length; i += 8)
{
    bytes[i / 8] = Convert.ToByte(str.Substring(i, 8), 2);
}

上面代码将一个二进制字符串"10101010"转换成了字节数组。

常见问题
如何将字节数组转换成字符串?

可以使用Encoding类中的GetString()方法将字节数组转换成字符串。

示例代码:

byte[] bytes = new byte[] { 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100 };
string str = Encoding.ASCII.GetString(bytes);

上面代码将字节数组{ 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100 }转换成了字符串"Hello World"。

如何将二进制字符串转换成整数?

可以使用Convert类中的ToInt32()ToInt64()方法将二进制字符串转换成整数。

示例代码:

string binaryStr = "10101010";
int intValue = Convert.ToInt32(binaryStr, 2);

上面代码将二进制字符串"10101010"转换成了整数170。

总结

C#中可以使用Encoding类和Convert类中的方法将字符串转换成二进制格式,这可以帮助我们更高效地处理字符串数据。同时,我们可以使用Encoding类将字节数组转换成字符串,使用Convert类将二进制字符串转换成整数。