我在使用 UTF8Encoder 解码文件时遇到问题。
我正在从使用 UTF8(字符串 > 字节)编码的文件中读取文本,请参阅以下方法。
public static void Encode(string Path)
{
string text;
Byte[] bytes;
using (StreamReader sr = new StreamReader(Path))
{
text = sr.ReadToEnd();
UTF8Encoding Encoding = new UTF8Encoding();
bytes = Encoding.GetBytes(text);
sr.Close();
}
using (StreamWriter sw = new StreamWriter(Path))
{
foreach (byte b in bytes)
sw.Write(b.ToString());
sw.Close();
}
}
然后我使用该方法对其进行解码
public static String Decode(string Path)
{
String text;
Byte[] bytes;
using (StreamReader sr = new StreamReader(Path))
{
text = sr.ReadToEnd();
UTF8Encoding Encoding = new UTF8Encoding();
bytes = Encoding.GetBytes(text);
text = Encoding.GetString(bytes);
return text;
}
}
但是,它没有解码字节以使其返回文本,而是将其作为一串数字返回。我看不出我做错了什么,因为我对此并没有太多经验。
编辑:澄清我想要实现的目标。我试图让一个文本文件将文本保存为字节,而不是字符/数字。这是为文件提供非常简单的加密,因此您无法修改它们,除非您知道自己在做什么。然后使用解码函数从文件中读取文本(字节)并将它们转换为可读文本。我希望这能澄清我想要实现的目标。
PS:对不起,没有评论,但我认为它足够短,可以理解