【问题标题】:Converting ASCII file to UTF8将 ASCII 文件转换为 UTF8
【发布时间】:2015-06-23 21:00:44
【问题描述】:

我正在开发一个加密程序,它将文本传递给 ASCII,然后再次解密为普通文本。问题是解密,重音和特殊字符没有出现。我根本无法(tenteri 各种代码)将其转换为 UTF8。

正在生成文件的详细信息以存储这些加密和描述。

这是下面的代码(根本不起作用!):

        StreamWriter criptografia = new StreamWriter(@"ItensCriptografados.txt", true);
        string palavras = txtcripto.Text;
        txtdescripto.Text = "";
       UTF7Encoding descript = new UTF7Encoding();



        for (int i = 0; i < palavras.Length; i +=3)
        {
            char oi = char.Parse(palavras.Substring(i, 3));
            if (palavras.Substring(i, 3) == "341"){
                i += 3;
                byte[] bytes2 = BitConverter.GetBytes(oi);
                byte[] convertido = Encoding.UTF8.GetBytes(oi);
                byte[] utf8Array = Encoding.Convert(Encoding.ASCII, Encoding.UTF7, bytes2);
                string s2 = descript.GetString(utf8Array);
            //string s2 = Encoding.UTF7.GetString(bytes2);

               UTF8Encoding utf = new UTF8Encoding();
                byte[] byteArray = Encoding.ASCII.GetBytes(s);
                byte[] utfArray = Encoding.Convert(Encoding.ASCII, Encoding.UTF8, byteArray);
                string finalString = utf.GetString(utfArray);
            txtdescripto.Text = txtdescripto.Text + s2.ToString();
        }

        }
        criptografia.WriteLine("Texto:{0} . Criptografado:{1}",txtdescripto.Text.ToString(), palavras.ToString());
        criptografia.Close();

【问题讨论】:

  • 尝试将 Encoding.ASCII 替换为 System.Text.Encoding.GetEncoding("iso-8859-1") 或 System.Text.Encoding.GetEncoding(850));
  • 请用文字描述您的加密算法。

标签: c# encryption utf-8


【解决方案1】:

也许您应该对字节进行编码和解码,而不是字符。

【讨论】:

  • 确实如此。但人们确实喜欢玩新奇的密码,其中一切都是字符串,通常对输入有未说明的限制。
猜你喜欢
  • 2023-03-31
  • 2011-05-20
  • 1970-01-01
  • 2012-03-18
  • 2015-04-18
  • 1970-01-01
  • 2015-06-04
  • 2017-03-30
  • 2012-01-09
相关资源
最近更新 更多