C# Encode. <format>.GetBytes () возвращает разные данные для этого ввода - PullRequest
0 голосов
/ 20 февраля 2020

Из документов Encode должен предоставлять способ преобразования байтов в строку и обратно. Однако этот тестовый пример дает совсем другие результаты после декодирования. Входные данные «байты» составляют 6 элементов, но выходные данные «outputData» содержат 17 элементов. Почему это?

    byte[] bytes = new byte[] { 24, 48, 49, 127, 250, 255, 1 };

    char[] charData = Encoding.UTF7.GetChars(bytes);
    byte[] outputData = Encoding.UTF7.GetBytes(charData);

1 Ответ

2 голосов
/ 20 февраля 2020

По предложению Damien_The_Unbeliever, найдено вместо Convert

    byte[] bytes = new byte[] { 24, 48, 49, 127, 250, 255, 1 };

    // encode
    string byteString = Convert.ToBase64String(bytes);
    byte[] byteList = Convert.FromBase64String(byteString);
...