Вы уверены, что у вас есть строка Base64? Base64 - это средство кодирования двоичных данных в строку с использованием только стандартных 7-битных символов ASCII. Это , а не строковая кодировка, подобная ASCII, с некоторыми управляющими байтами. У вас есть строка Base64, если вы используете Convert.ToBase64String
для получения значения (которое, если вы пытаетесь сохранить двоичные данные в виде строки, будет лучшим выбором)
Судя по вашей ошибке (и вашим примерным данным), я предполагаю, что у вас нет строки Base64. Если вам необходимо сохранить двоичные данные в базе данных, вы можете создать столбец с использованием двоичного типа или зашифровать строку в Base64 с помощью Convert.ToBase64String
.
byte[] inputData = ...;
string base64String = Convert.ToBase64String(inputData);
byte[] outputData = Convert.FromBase64String(base64String);
Здесь outputData
должен содержать те же данные, что и inputData
.
Если то, что у вас есть, это просто строка в кодировке ASCII, то ваша первоначальная практика использования System.Text.Encoding.ASCII.GetBytes()
верна, но вы должны изменить это на использование строки Base64, если можете.