3

我似乎遇到了问题HttpServerUtility.UrlTokenDecode(string),因为它不断返回 null,导致程序崩溃。

根据我收集到的信息,此方法会将字符串转换为 base64 字节数组。不幸的是,代码的原始开发者已经不在我们身边,而且我办公室里似乎没有多少人熟悉代码。

public string DecodeUrlData(string urlData)
{
    string lsReturnVal = string.Empty;
    byte[] decodedrtfBytes = HttpServerUtility.UrlTokenDecode(urlData);

    lsReturnVal = System.Text.ASCIIEncoding.ASCII.GetString(decodedrtfBytes);
    return lsReturnVal;
}

那就是已经编写的代码,并且urlData具有以下值:

urlData = "pdfSignature template testing."

(还应该知道urlData可能具有“字符串”值或 rtf 格式的字符串)

但最终发生的是当HttpServerUtility.UrlTokenDecode(urlData)行执行时,字节数组最终为空(导致下一行出现异常)。

有没有另一种方法可以将字符串转换为 base64,或者为什么它会继续产生空值?

4

1 回答 1

4

根据HttpServerUtility.UrlTokenDecode文档input参数应该是以前通过 编码的Url 令牌UrlTokenEncode

引用:

UrlTokenDecode 方法将 URL 字符串标记(将二进制数据编码为基本 64 位数字)转换为其等效的字节数组表示形式。使用 UrlTokenDecode 方法对在 URL 上传输并使用 UrlTokenEncode 进行编码的令牌进行解码。

于 2011-06-29T17:41:44.533 回答