Я схожу с ума?c # / статический модификатор - PullRequest
2 голосов
/ 02 декабря 2010

У меня есть код ниже, как ни странно, он продолжает возвращать одно и то же значение (даже если filename) отличается, если я вызываю его более одного раза в одном и том же запросе.

Я только что прошел через код, и даже stringbytes точно такой же (т. Е. GetBytes (строка)) возвращает то же значение.

    public static string Base64EncodeString(string filename)
    {
        var stringbytes = System.Text.Encoding.Default.GetBytes(filename);
        return Convert.ToBase64String(stringbytes);
    }

Ответы [ 3 ]

5 голосов
/ 02 декабря 2010

Я подозреваю, что вы не видите то, что, как вы думаете, вы видите. Этот метод не будет возвращать одно и то же значение, если вы вызываете его с разными значениями имени файла ... если вы не используете символы, которые не поддерживаются Encoding.Default (Я бы не советовал использовать Encoding.Default, если вы действительно не хотите кодирование для конкретной платформы.)

1 голос
/ 02 декабря 2010

Ваш код выглядит правильно. Если это не проблема с кодировкой, предложенная Джоном Скитом, я бы предположил, что у вас где-то есть статическая переменная fileName и / или stringbytes и что отправленный код не на 100% совпадает с исходным кодом.

0 голосов
/ 02 декабря 2010

Вы проверяли файлы, которые загружаете. Возможно, вы просто скопировали открываемый файл, дали ему другое имя и не изменили содержимое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...