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;
}
}
ただし、バイトをデコードしてテキストに戻す代わりに、数値の文字列として返すだけです。これについてはあまり経験がないので、何が間違っているのかわかりません。
編集:私が達成しようとしていることを明確にするために。文字/数値ではなく、テキストをバイトとして保存するテキスト ファイルを作成しようとしています。これは、ファイルに非常に単純な暗号化を提供するためです。そのため、何をしているのかわからない限り、ファイルを変更することはできません。次に、Decode 関数を使用して、ファイルからテキスト (バイト) を読み取り、読み取り可能なテキストにします。これが私が達成しようとしていることを明確にしたことを願っています。
PS: コメントがないので申し訳ありませんが、理解できるほど短いと思います