嗨,我已经编写了一个程序,在给定一些参数的情况下生成一个txt文件,下面是output.txt的一个例子
APSF-COMPANY = hi
APSF-CERTIFY = 12345678
APSF-CERTIFY = 12345678
APSF-CERTIFY = 12345678
APSF-CERTIFY = 12345678
APSF-CERTIFY = 12345678当我生成文件时,我创建了一个方法来加密文件中的字符,所以真正的output.txt是
UdgZAWcadUbm4Q4|}
UdgZAWYfh]Zm4Q4EFGHIJKL
UdgZAWYfh]Zm4Q4EFGHIJKL
UdgZAWYfh]Zm4Q4EFGHIJKL
UdgZAWYfh]Zm4Q4EFGHIJKL
UdgZAWYfh]Zm4Q4EFGHIJKL这是隐秘的方法
public string crypt(string tmp)
{
string result = "";
foreach (var c in tmp)
{
if (c == 'z') result += 'a';
else if (c == 'Z') result += 'A';
else result += (char)(((int)c) +20);
}
return result;
}当我解密文件(将output.txt的内容放入richTextBox中)时,情况就不一样了。解密方法
public string decrypt(string tmp)
{
string result = "";
foreach (var c in tmp)
{
result += (char)(((int)c) - 20);
}
return result;
}下面是将内容放到richTextBox中的代码
richTextBox1.Text = decrypt(sr.ReadToEnd());在这里,在richTextBox中发生了什么:
错误

这里应该是这样的:
右

(我认为问题在于“输入”字符)
发布于 2017-02-24 11:04:52
正如BugFinder已经提到的,不要一次解密整个文本,因为您显然解密了\n字符。逐行解密:
string[] allLines = System.IO.File.ReadAllLines("YourFile.txt");
foreach (var line in allLines)
{
richTextBox1.AppendText(decrypt(line) + Environment.NewLine);
}https://stackoverflow.com/questions/42436869
复制相似问题