C# 如何转换ascii字符串c中的位序列#

C# 如何转换ascii字符串c中的位序列#,c#,string,bit-manipulation,C#,String,Bit Manipulation,如何转换一串位,例如 010010000110010101101101101101011000110101110010000001010111011101111111011100100110110001100100 对于像“Hello World”这样的ASCII字符字符串,您需要将它们拆分为8个字符字符串(字节),调用Convert.ToByte(str,2),将它们放入byte[],然后调用Encoding.ASCII.GetString()您需要将它们拆分为8个字符字符串(字节),调用Co

如何转换一串位,例如

010010000110010101101101101101011000110101110010000001010111011101111111011100100110110001100100


对于像“Hello World”这样的ASCII字符字符串,您需要将它们拆分为8个字符字符串(字节),调用
Convert.ToByte(str,2)
,将它们放入
byte[]
,然后调用
Encoding.ASCII.GetString()

您需要将它们拆分为8个字符字符串(字节),调用
Convert.ToByte(str,2)
,将它们放入
字节[]
,然后调用
Encoding.ASCII.GetString()

此代码示例应该很清楚:

String bits = "01001001000......0001100100"; // shortened here for demo purposes

byte[] bArr = new byte[bits.Length / 8];
for (int i = 0; i < bits.Length / 8; i++)
{
    String part = bits.Substring(i * 8, 8);
    bArr[i] += Convert.ToByte(part, 2);
}
System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
Console.WriteLine(encoding.GetString(bArr));
String bits=“01001000……00011000”//此处为演示目的而缩短
字节[]bArr=新字节[bits.Length/8];
for(int i=0;i

基本上,将字符串分成偶数部分,将生成的字节存储在字节数组中,然后用特定的编码对其进行解析。

这个代码示例应该很清楚:

String bits = "01001001000......0001100100"; // shortened here for demo purposes

byte[] bArr = new byte[bits.Length / 8];
for (int i = 0; i < bits.Length / 8; i++)
{
    String part = bits.Substring(i * 8, 8);
    bArr[i] += Convert.ToByte(part, 2);
}
System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
Console.WriteLine(encoding.GetString(bArr));
public string GetBytesFromBinaryString(String binary)
{
    var list = new List<Byte>();

    for (int i = 0; i < binary.Length; i += 8)
    {
        String t = binary.Substring(i, 8);

        list.Add(Convert.ToByte(t, 2));
    }

    return Encoding.ASCII.GetString(list.ToArray());
}
String bits=“01001000……00011000”//此处为演示目的而缩短
字节[]bArr=新字节[bits.Length/8];
for(int i=0;i
基本上,将字符串分成偶数部分,将生成的字节存储在字节数组中,然后用特定的编码对其进行解析

public string GetBytesFromBinaryString(String binary)
{
    var list = new List<Byte>();

    for (int i = 0; i < binary.Length; i += 8)
    {
        String t = binary.Substring(i, 8);

        list.Add(Convert.ToByte(t, 2));
    }

    return Encoding.ASCII.GetString(list.ToArray());
}
输出:

“你好,世界”

输出:

“你好,世界”

使用这种方法

private byte[] GetAsByteArray(string BinaryString)
{
        return Enumerable.Range(0, BinaryString.Length / 8)
            .Select(i => Convert.ToByte(BinaryString.Substring(i * 8, 8), 2)).ToArray();
}
那就这样说吧

string binaryString = "0100100001100101011011000110110001101111001000000101011101101111011100100110110001100100";
string convertedText = System.Text.Encoding.ASCII.GetString(GetAsByteArray(binaryString));
使用这种方法

private byte[] GetAsByteArray(string BinaryString)
{
        return Enumerable.Range(0, BinaryString.Length / 8)
            .Select(i => Convert.ToByte(BinaryString.Substring(i * 8, 8), 2)).ToArray();
}
那就这样说吧

string binaryString = "0100100001100101011011000110110001101111001000000101011101101111011100100110110001100100";
string convertedText = System.Text.Encoding.ASCII.GetString(GetAsByteArray(binaryString));

将其拆分为八位字节(8位块)。。。使用Convert.ToByte(八位字节,2),然后使用Encoding.Ascii.GetString(字节).@SLaks-hehehehe播放得很好:)我担心,除非只是增加混乱,否则会将其拆分为八位字节(8位块)。。。使用Convert.ToByte(八位字节,2),然后使用Encoding.Ascii.GetString(字节).@SLaks-hehehehe播放得很好:)我担心,在增加混淆之前,thoughToByte也允许fromBase用法-即Convert.ToByte(八位字节,2)ToByte也允许fromBase用法-即Convert.ToByte(八位字节,2)