English 中文(简体)
我怎么能够把双双双双双向档案列入一套 as子。
原标题:
  • 时间:2009-05-29 14:51:40
  •  标签:

I want to convert a binary file into an array of ascii charcters . how can I do that . thank you .

最佳回答

它取决于你们想要做些什么。 Ascii本应是7个轨道(0-127个定义明确,其他特性是密码依赖者)。 因此,ASCII的编码可导致新的惊讶(其中非印刷性质为无效)。

如果你想从你的边际阵列中印刷出一些东西,你就不应该用ASCII编码来转换。 你在《基地》64中更好地加以编码,这是一种安全(尽管其大小不理想)的方式,可以把双轨编码放在地体中。

为了把你的 by子放在第64号基地,你只能:

string result = System.Convert.ToBase64String(yourByteArray);
问题回答

检查BASE64或UUEncoding。 我假定,你只想使用256英亩的ASCII套纸质。

BASE64只使用64种特性(有时在通过电子邮件发送双亲时使用)。 这导致产出在规模上增长——你不得不在你的情况中加以考虑。

StreamReader reader = new StreamReader("pathtoyourbinaryfile", System.Text.Encoding.ASCII);
char[] text = reader.ReadToEnd().ToCharArray();

你们可以理解每个特点,而只是把它 cast。 这将使每一次都变成一种轻度。 你们是否想做什么?

我不认为先前的答复者回答了问题。 许多人说ASCII,他们说是 by,因此,我怀疑提问者想要阅读双亲档案,而不是带有密码特征的文本档案。

为了证明各种技术的影响,我从以下文字中制作了UTF-8文本:

  string s = "	a£x0394x221A";   // tab; lower case a; pound sign; Greek delta; square root  

以下方案首先将这一档案作为案文,然后作为一系列 by。 在每一种情况下,它首先显示是 de,然后是hexa。

  String test = "";
  String fileStg = File.ReadAllText("Test.txt");
  for (int i = 0; i < fileStg.Length; i++)
    test += (int)fileStg[i] + " ";
  Debug.Print(test);
  test = "";
  for (int i = 0; i < fileStg.Length; i++)
    test += ((int)fileStg[i]).ToString("X") + " ";
  Debug.Print(test);
  test = "";
  Byte[] fileByte = File.ReadAllBytes(pathProg + "Test.txt");
  for (int i = 0; i < fileByte.Length; i++)
    test += fileByte[i].ToString() + " ";
  Debug.Print(test);
  test = "";
  for (int i = 0; i < fileByte.Length; i++)
    test += fileByte[i].ToString("X") + " ";
  Debug.Print(test);

产出:

9 97 163 916 8730 13 10
9 61 A3 394 221A D A
239 187 191 9 97 194 163 206 148 226 136 154 13 10
EF BB BF 9 61 C2 A3 CE 94 E2 88 9A D A

请注意,在作为文本档案阅读时,管理局已被 stripped除,而多国特8型特工特性已成为投入体中的单一特性。 但是,当被看成一阵列时,我会收到管理局和“UTF-8”的原始公司。

我怀疑该问询人希望阅读真实的双亲档案,而不是统法协会的文字档案,但我认为这一例子更能说明这两种技术的效果,并且表明,如果问题者希望阅读双亲文件,那么阅读全书是一种更适当的技术。





相关问题
热门标签