0

私はC#バイナリを初めて使用するので、何かを知る必要があります...

  1. exeファイルを読む

  2. 文字列に変換します(例:10001011)

  3. 文字列を変更する

  4. 新しいexeに書き戻す

バイナリを文字列に変換しようとしていると聞きましたstring.Joinが、よく理解できませんでした。

4

1 に答える 1

5

exe をバイナリ文字列にするには、まずそれをバイト配列に読み込みます。

byte[] fileBytes = File.ReadAllBytes(inputFilename);

それで:

public static string ToBinaryString(byte[] array)
{
    var s = new StringBuilder();
    foreach (byte b in array)
        s.Append(Convert.ToString(b, 2));

    return s.ToString();
}

バイナリ文字列になります。

バイナリ文字列をバイト配列に戻すには:

public static byte[] FromBinaryString(string s)  
{
    int count = s.Length / 8;
    var b = new byte[count];
    for (int i = 0; i < count ; i++)
        b[i] = Convert.ToByte(s.Substring(i * 8, 8), 2);

    return b;
}

最後に、ファイルを書き込みます。

File.WriteAllBytes(path, fileBytes);
于 2012-10-29T18:05:40.077 に答える