Декодировать Base64 картинку созданную TotalCommander - C#
Формулировка задачи:
взял картинку, закодировал ее через TotalCommander в Base64, потом раскодировал следующим кодом
в файле кодировка.txt написано System.Text.UTF8Encoding. В итоге символы исказились и картинка не открылась... Помогите разобраться почему при декодировании искажаются символы?
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; namespace Base64 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { string input = File.ReadAllText(@"D:\test\123.txt"); string encoding = string.Empty; Stream fs = new FileStream(((@"D:\test\123.txt")), FileMode.Open); using (StreamReader sr = new StreamReader(fs, true)) encoding = sr.CurrentEncoding.ToString(); File.WriteAllText(@"D:\test\кодировка.txt", encoding); byte[] buffer = Convert.FromBase64String(input); string text = Encoding.UTF8.GetString(buffer); // Hello, World File.WriteAllText(@"D:\test\321.txt", text); } } }
возможно тотал коммандер как-то иначе кодирует, не так как это делается стандартными инструментами в c#.
Если это так, то как тогда корректно декодировать чтобы опять получилась картинка?
Решение задачи: «Декодировать Base64 картинку созданную TotalCommander»
textual
Листинг программы
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; namespace Base64 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { string input = File.ReadAllText(@"D:\test\123.txt"); string temp = input.Replace("\r\n", ""); File.WriteAllText(@"D:\test\temp.txt", temp); string input_temp = File.ReadAllText(@"D:\test\temp.txt"); var dFB = Convert.FromBase64String(input_temp); File.WriteAllBytes(@"D:\test\321.jpg", dFB); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д