You seem to think that it is ToUInt32 that is doing the conversion to the hex, but it is actually the x2 formatting specifier to String.Format. Unfortunately, I don't think there is a b8 format specifier.
–
JustinApr 14 '11 at 14:02

His example says asciiString as parameter. Nor do I know what format the binary array should be. But you can change the encoding on demand.
–
JaapjanApr 14 '11 at 14:04

@JSBangs The OP does seem to want to use ASCII. But you’re right, that’s not what the original code does and it probably wouldn’t work either. But using UTF8 does something different yet. The equivalent to OP’s code would be to use Unicode.
–
Konrad RudolphApr 14 '11 at 14:05

1

@Konrad, "The OP does seem to want to use ASCII" -- but the OP clearly doesn't know what's good for him.
–
JSBձոգչApr 14 '11 at 14:08

The OP used a variable name "asciiString", but this does not change the fact that the string is UTF-16 LE (because that's what string always has). In my opinion, the only reason to ever use a non-Unicode encoding is in the thin interface layer to a legacy system that cannot be changed. And even then, that is only until the legacy system can be replaced. Now the OP may be saying that the characters in asciiString are restricted to the ASCII range (7-bit values). If that is the case, the UTF-8 solution will be identical to the ASCII solution, so UTF-8 should be used anyway.
–
Jeffrey L WhitledgeApr 14 '11 at 14:15

It sounds like you basically want to take an ASCII string, or more preferably, a byte[] (as you can encode your string to a byte[] using your preferred encoding mode) into a string of ones and zeros? i.e. 101010010010100100100101001010010100101001010010101000010111101101010

This will do that for you...

//Formats a byte[] into a binary string (010010010010100101010)
public string Format(byte[] data)
{
//storage for the resulting string
string result = string.Empty;
//iterate through the byte[]
foreach(byte value in data)
{
//storage for the individual byte
string binarybyte = Convert.ToString(value, 2);
//if the binarybyte is not 8 characters long, its not a proper result
while(binarybyte.Length < 8)
{
//prepend the value with a 0
binarybyte = "0" + binarybyte;
}
//append the binarybyte to the result
result += binarybyte;
}
//return the result
return result;
}