雖然追蹤中的錯誤,我發現在轉換HttpServerUtility.UrlTokenEncode
和Convert.ToBase64String
之間的以下差異爲Base64和回:HttpServerUtility.UrlTokenEncode中的潛在錯誤?
string test = "IN ('en-US')";
Console.WriteLine(HttpServerUtility.UrlTokenEncode(Encoding.UTF8.GetBytes(test)));
Console.WriteLine(Convert.ToBase64String(Encoding.UTF8.GetBytes(test)));
結果稍有不同:第一種方法有一個額外的尾隨零:
SU4gKCdlbi1VUycp0
SU4gKCdlbi1VUycp
JavaScript btoa()
也給我沒有拖尾零的值。
我知道這個零僅僅是用於填充,但是第二個轉換仍然是base64兼容的嗎?或者我們是否應該避免使用HttpServerUtility.UrlTokenEncode
而不是Convert.ToBase64String
?