Я использую Кодирование и декодирование:
Для кодирования:
private string EncodeServerName(string ServerName)
{
byte[] NameEncodein = new byte[ServerName.Length];
NameEncodein = System.Text.Encoding.UTF8.GetBytes(ServerName);
string EcodedName = Convert.ToBase64String(NameEncodein);
return EcodedName;
}
и декодирования:
public string DecoAndGetServerName(string Servername)
{
System.Text.UTF8Encoding encoder = new System.Text.UTF8Encoding();
System.Text.Decoder strDecoder = encoder.GetDecoder();
byte[] to_DecodeByte = Convert.FromBase64String(Servername);
int charCount = strDecoder.GetCharCount(to_DecodeByte, 0, to_DecodeByte.Length);
char[] decoded_char = new char[charCount];
strDecoder.GetChars(to_DecodeByte, 0, to_DecodeByte.Length, decoded_char,0);
string Name = new string(decoded_char);
return Name;
}
Я отправляю ServerName: DEV-SQL1 \ SQL2008
Он закодирован: REVWLVNRTDFcU1FMMjAwOA ==
Я снова хочу декодировать, но получаю исключение: в строке:
byte [] to_DecodeByte = Convert.FromBase64String (Servername);
Исключение IS:
Ввод не является допустимой строкой Base-64, так как он содержит символ, отличный от base 64,
более двух символов заполнения или символ, не являющийся пробелом, среди символов заполнения. `
Как решить эту проблему. .
Пожалуйста, помогите мне