Преобразование байтового массива в строку и обратно в C #

Так вот'сделка: яЯ пытаюсь открыть файл (из байтов), преобразовать его в строку, чтобы я мог связываться с некоторыми метаданными в заголовке, преобразовать его обратно в байты и сохранить. Проблема яЯ сталкиваюсь прямо сейчас с этим кодом. Когда я сравниваю строку, котораябыли преобразованы туда и обратно (но не изменены) в исходный байтовый массив, это 'с неравным. Как я могу сделать эту работу?

public static byte[] StringToByteArray(string str)
{
    UTF8Encoding encoding = new UTF8Encoding();
    return encoding.GetBytes(str);
}

public string ByteArrayToString(byte[] input)
{
    UTF8Encoding enc = new UTF8Encoding();
    string str = enc.GetString(input);
    return str;
}

Вот'как яЯ сравниваю их. Я

byte[] fileData = GetBinaryData(filesindir[0], Convert.ToInt32(fi.Length));
string fileDataString = ByteArrayToString(fileData);
byte[] recapturedBytes = StringToByteArray(fileDataString);
Response.Write((fileData == recapturedBytes));

я уверен, что этос UTF-8, используя:

StreamReader sr = new StreamReader(filesindir[0]);
Response.Write(sr.CurrentEncoding);

который возвращаетсяSystem.Text.UTF8Encoding».

Ответы на вопрос(4)

Ваш ответ на вопрос