"i want to convert it to a string by changing each byte into the ASCII char"
ASCII is easy:
byte[] bytes = ...
string s = System.Text.Encoding.ASCII.GetString(bytes);
"but this method not joining zeros."
Um...are you sure?
byte[] bytes = new byte[]{ 21, 31, 0, 0, 95 };
string s = System.Text.Encoding.ASCII.GetString(bytes);
foreach (char c in s)
{
Console.WriteLine((byte)c);
}
Generates:
21
31
0
0
95