私は以下のコードを持っています。同じ要求を複数回呼び出すと、同じ値(たとえfilename
であっても)が返ってきます。私は怒っていますか? c#/ static修飾子
Iveがコードをステップ実行しただけで、stringbytes
もまったく同じです(つまり、GetBytes(string))が同じ値を返しています。
public static string Base64EncodeString(string filename)
{
var stringbytes = System.Text.Encoding.Default.GetBytes(filename);
return Convert.ToBase64String(stringbytes);
}
'stringbytes'が同じなら、' filename'は同じです。値をコンソールに出力するコードをいくつか入れてください。 –
これはうまくいくはずです。あなたはデバッガでそれを見ていますか?おそらく、各呼び出しでfilenameとbase-64文字列の値をログに記録します。 –
@ダニエル:それはまったく真実ではありません。 'filename'のいくつかの異なる値はすべて、' Encoding.Default'でエンコードできない文字を持つことができます。エンコードされた形式の '?'で置き換えることができます。 :) –