【发布时间】:2012-04-10 07:54:58
【问题描述】:
我正在尝试从 base-64 字符串来回编码一些字符串,但我很难得到正确的结果。
string text = base64string.... //Here I have a base-64 string.
byte[] encodedByte = System.Text.ASCIIEncoding.ASCII.GetBytes(text);
string base64Encoded = Convert.ToBase64String(encodedByte);
if (text == base64Encoded) //If the new encoded string is equal to its original value
return base64Encoded;
我已经尝试了我的方法来做到这一点,但我似乎没有得到正确的结果。我用System.Text.Encoding.Unicode 和System.Text.Encoding.UTF8 都试过了
可能是什么问题?有人有合适的解决方案吗?
【问题讨论】:
-
好的,阅读您的代码,您正在获取一个 base64 字符串,然后将其编码为 base64,然后将编码后的字符串与原始字符串进行比较?
-
为什么要从编码形式开始?您可以尝试先从纯文本进行编码,然后再解码。还是您尝试自己实现编码/解码算法?
-
@Brian - 是的,这就是我正在做的事情。
-
@Erik,记住,
text不会与base64encoded匹配,因为base64encoded是text的“乱码”内容,:D -
为什么投反对票。 Erik 我想你现在看到了问题所在。我认为您想要做的是将原始未编码的字符串传递给 Convert.ToBase64String(encodedByte);然后将结果与您的原始编码字符串进行比较以查看它们是否匹配。