Как мне...как мне написать код C#, чтобы выбрать несколько файлов C# для преобразования только текста в кавычках в base64?
Еще раз здравствуйте,
Я хотел бы иметь возможность конвертировать свои файлы обратно в base64 после их обновления.
но я не хочу использовать регулярное выражение, я просто хочу преобразовать все строки в кавычки.
У меня есть файл, который я включаю в свои программы, которые при выполнении декодируют строки.
Я полагаю, что мы можем использовать приведенный ниже код с небольшими изменениями.
Вот несколько строк кода для его тестирования:
this.saveToolStripMenuItem.BackColor = System.Drawing.SystemColors.Menu; this.saveToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("saveToolStripMenuItem.Image"))); this.saveToolStripMenuItem.Name = "saveToolStripMenuItem"; this.saveToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.S))); this.saveToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.saveToolStripMenuItem.Text = "&Save"; this.saveToolStripMenuItem.Click += new System.EventHandler(this.saveToolStripMenuItem_Click); this.saveAsToolStripMenuItem.BackColor = System.Drawing.SystemColors.Menu; this.saveAsToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("saveAsToolStripMenuItem.Image"))); this.saveAsToolStripMenuItem.Name = "saveAsToolStripMenuItem"; this.saveAsToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.A))); this.saveAsToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.saveAsToolStripMenuItem.Text = "Save &As"; this.saveAsToolStripMenuItem.Click += new System.EventHandler(this.saveAsToolStripMenuItem_Click); this.exitToolStripMenuItem.BackColor = System.Drawing.SystemColors.Menu; this.exitToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("exitToolStripMenuItem.Image"))); this.exitToolStripMenuItem.Name = "exitToolStripMenuItem"; this.exitToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.X))); this.exitToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.exitToolStripMenuItem.Text = "E&xit"; this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click); this.optionsCtrlPToolStripMenuItem.BackColor = System.Drawing.SystemColors.Control; this.optionsCtrlPToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.shareSkinsCtrlHToolStripMenuItem}); this.optionsCtrlPToolStripMenuItem.ForeColor = System.Drawing.SystemColors.ControlText; this.optionsCtrlPToolStripMenuItem.Name = "optionsCtrlPToolStripMenuItem"; this.optionsCtrlPToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.P))); this.optionsCtrlPToolStripMenuItem.Size = new System.Drawing.Size(61, 20); this.optionsCtrlPToolStripMenuItem.Text = "O&ptions"; this.shareSkinsCtrlHToolStripMenuItem.BackColor = System.Drawing.SystemColors.Menu; this.shareSkinsCtrlHToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("shareSkinsCtrlHToolStripMenuItem.Image"))); this.shareSkinsCtrlHToolStripMenuItem.Name = "shareSkinsCtrlHToolStripMenuItem"; this.shareSkinsCtrlHToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.H))); this.shareSkinsCtrlHToolStripMenuItem.Size = new System.Drawing.Size(172, 22); this.shareSkinsCtrlHToolStripMenuItem.Text = "S&hare Skins"; this.shareSkinsCtrlHToolStripMenuItem.Click += new System.EventHandler(this.shareSkinsCtrlHToolStripMenuItem_Click); this.helpToolStripMenuItem.BackColor = System.Drawing.SystemColors.Control; this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.aboutCtrlBToolStripMenuItem, this.checkForUpdateCtrlUToolStripMenuItem}); this.helpToolStripMenuItem.ForeColor = System.Drawing.SystemColors.ControlText; this.helpToolStripMenuItem.Name = "helpToolStripMenuItem"; this.helpToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.F1; this.helpToolStripMenuItem.Size = new System.Drawing.Size(44, 20); this.helpToolStripMenuItem.Text = "He&lp"; this.aboutCtrlBToolStripMenuItem.BackColor = System.Drawing.SystemColors.Menu; this.aboutCtrlBToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("aboutCtrlBToolStripMenuItem.Image"))); this.aboutCtrlBToolStripMenuItem.Name = "aboutCtrlBToolStripMenuItem"; this.aboutCtrlBToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.B))); this.aboutCtrlBToolStripMenuItem.Size = new System.Drawing.Size(204, 22); this.aboutCtrlBToolStripMenuItem.Text = "A&bout"; this.aboutCtrlBToolStripMenuItem.Click += new System.EventHandler(this.aboutCtrlBToolStripMenuItem_Click);V
Что я уже пробовал:
Вот что я использую для преобразования моих файлов C# из Base64 :
<pre>private void butDecodeFiles_Click(object sender, EventArgs e) { OpenFileDialog dlg = new OpenFileDialog(); dlg.Title = "Open File"; dlg.Filter = "C Sharp files (*.cs)|*.cs|All files (*.*)|*.*"; dlg.Multiselect = true; if (dlg.ShowDialog() == DialogResult.OK) { string line; string[] SelectedFiles = dlg.FileNames; dlg.Dispose(); foreach (string file in SelectedFiles) { using (StreamReader streamIn = new StreamReader(file)) { using (StreamWriter streamOut = new StreamWriter(file + "-copy")) { while ((line = streamIn.ReadLine()) != null) { if (line.Contains("Base64Decode.strongName")) { Regex rgx = new Regex("Base64Decode\\.strongName\\(\\\"(?<base64>[a-zA-z0-9\\/=]+)\\\"\\)"); MatchCollection mc = rgx.Matches(line); if (mc.Count > 0) { foreach (Match m in mc) { string s = m.Groups["base64"].Value; byte[] data = Convert.FromBase64String(s); line = line.Replace(m.Value, "\"" + Encoding.Unicode.GetString(data) + "\""); } } } streamOut.WriteLine(line); } } } try { File.Delete(file); File.Move(file + "-copy", file); File.Delete(file + "-copy"); } catch (Exception) { MessageBox.Show("Error"); throw; } } MessageBox.Show("Conversion Complete"); } }