ATL_BASE64_FLAG_NOPADフラグを指定したBase64Encodeを使用してエンコードされたbase64エンコード文字列をデコードする方法。
質問する
1538 次
1 に答える
3
それが単に「最後にを置かない」ことを意味すると仮定すると=
、パディングを直接追加できます。
public static string Base64PadEnd(string unpadded)
{
switch(unpadded.Length % 4)
{
case 0: return unpadded;
case 2: return unpadded + "==";
case 3: return unpadded + "=";
default: throw new ArgumentException("Invalid unpadded base64");
}
}
(base64の動作方法では、最後のブロックが1文字のパディングされていない値になることはありません。)
パディングを追加したら、Convert.FromBase64String
通常どおりに使用します。
編集:コメントに記載されているように、base64文字列に空白が含まれている場合は、パディングを追加する前に最初に空白を削除する必要があります。単純なtext = Regex.Replace(text, @"\s", "")
ものでうまくいくはずです。
于 2012-06-11T17:31:33.840 に答える