// декодирование private string toDecode(string fileName) { string text; // выбор плагина if (cbPlugin.SelectedIndex == 0) { fileName = fileName + ".b64"; } else if (cbPlugin.SelectedIndex == 1) { fileName = fileName + ".b32"; } if (File.Exists(fileName)) { // чтение из закодированного файла using (FileStream fs = new FileStream(fileName, FileMode.Open)) { byte[] fileInfo = new byte[fs.Length]; fs.Read(fileInfo, 0, fileInfo.Length); text = Encoding.GetEncoding(1251).GetString(fileInfo); } // применение плагина декодирования if (cbPlugin.SelectedIndex == 0) { Base64.Plugins plug = new Base64.Plugins(); text = plug.Base64Decode(text); using (FileStream fs = new FileStream(fileName + ".res", FileMode.Create)) { var arr = Encoding.GetEncoding(1251).GetBytes(text); fs.Write(arr, 0, arr.Length); } } else if (cbPlugin.SelectedIndex == 1) { byte[] arr; Base32.Plugins plug = new Base32.Plugins(); arr = plug.FromBase32String(text); using (FileStream fs = new FileStream(fileName + ".res", FileMode.Create)) { fs.Write(arr, 0, arr.Length); } } return(fileName + ".res"); } else { MessageBox.Show("Файла с указанной кодировкой не существует!"); return(null); } }
// кодирование private void toEncode(string fileName) { string text; byte[] file; // чтение данных из файла using (FileStream fs = new FileStream(fileName, FileMode.Open)) { byte[] fileInfo = new byte[fs.Length]; fs.Read(fileInfo, 0, fileInfo.Length); file = fileInfo; text = Encoding.GetEncoding(1251).GetString(fileInfo); } // применение плагина кодирования // кодирование Base64 if (cbPlugin.SelectedIndex == 0) { Base64.Plugins plug = new Base64.Plugins(); text = plug.Base64Encode(text); using (FileStream fs = new FileStream(fileName + ".b64", FileMode.Create)) { var arr = Encoding.GetEncoding(1251).GetBytes(text); fs.Write(arr, 0, arr.Length); } } // кодирование Base32 else if (cbPlugin.SelectedIndex == 1) { Base32.Plugins plug = new Base32.Plugins(); text = plug.ToBase32String(file); using (FileStream fs = new FileStream(fileName + ".b32", FileMode.Create)) { var arr = Encoding.GetEncoding(1251).GetBytes(text); fs.Write(arr, 0, arr.Length); } } }