string str = "Hello World 高 大";
byte[] bArray = Encoding.UTF8.GetBytes(str);
Console.WriteLine(bArray.Length);
Console.WriteLine("==========================");
foreach(byte b in bArray)
{
    Console.WriteLine("{0:X}",b);
}
FileStream fs = new FileStream(@"e:\gao.txt",FileMode.Create);
fs.Write(bArray, 0, bArray.Length);
你可以运行上面这段程序,得到结果后
我的问题是
我们从界面上看到打印了的byte数组了吧,接着去看gao.txt那个文件
我希望也能看到一模一样的byte数组对吧,这样就能证明我写文件写正确了然后我用ultraedit看,我不知道是不是我不会操作,反正我看到的字节跟屏幕上打印出来的不一样我就想问,如果用ultraedit看到我真正写入文件的那个字节数组

解决方案 »

  1.   

    ding  aaaaaaaaaaaaaaaaaaaaaaaa
      

  2.   

    string   str   =   "Hello   World   高   大"; 
    byte[]   bArray   =   Encoding.UTF8.GetBytes(str); 
    Console.WriteLine(bArray.Length); 
    Console.WriteLine("=========================="); 
    foreach(byte   b   in   bArray) 

            Console.WriteLine("{0:X}",b); 

    using (StreamWriter sw = new StreamWriter(@"e:\gao.txt"))
    {
        foreach (byte b in bArray)
        {
            sw.WriteLine(string.Format("{0:X}", b));
        }
    }
      

  3.   

    用Default编码就能看到同样
     string str = "Hello   World   高   大";     
                byte[] bArray = Encoding.Default.GetBytes(str);
                Console.WriteLine(bArray.Length);
                Console.WriteLine("==========================");
                foreach (byte b in bArray)
                {
                    Console.Write("{0:X}-", b);
                }            
                FileStream fs = new FileStream(@"c:\gao.txt", FileMode.Create);            
                BinaryWriter bw = new BinaryWriter(fs, Encoding.Default);
                bw.Write(str);
                bw.Close();
                fs.Close();
    用UTF8编码写入后,ue使用unicode打开所以看起来不一样
      

  4.   

    汗,你又没说用十六进制方式查看按你的要求,用楼上的写法但是无论以什么方式写入,你用ultraedit打开查它,也不能是完全一致的,因为ultraedit打开查看时还会看到一些附加信息
      

  5.   

    很遗憾的说,现在用ue又能看了,在家的ue怎么和在公司不一样啊,我晕掉其实楼上两位都也答错,也不全错,反正是错的不太让我满意吧。不说你们不服,举例说我的问题问得很明确了吧,我就想知道怎么看那个文件的字节表示,最直观的是通过文件自己来看,最好有什么工具
    直接就让文件用byte数组的形式显示出来,如果能做到这个,就完全说服我了
    root_ 的代码虽然没错,但是并不是我想要的,如果看代码,傻瓜都知道我写入一个byte数组,当然那个文件就是只有那个byte数组了,我不需要用编码知道,是需要最好很明确的让我看到什么东西,哦,那个文件就是一个与我输入的一模一样的byte数组所以我在提问时很明确的说了我就想问,如何用ultraedit看到我真正写入文件的那个字节数组 ,虽然我打错了一个字(何变成果了)然后root后来又说,
    ultraedit打开查它,也不能是完全一致的,因为ultraedit打开查看时还会看到一些附加信息这绝对了,我现在就是用ue看到了byte数组了,可能家里和公司的电脑ue配置的不一样,不能截图,不然非让你看看然后说fuadam 
    有一处硬伤,用UTF8编码写入后,ue使用unicode打开所以看起来不一样
    这句话是没错,但是,所有byte数组都是一样的,这根编码没任何关系,我也说得很明确,我只看byte数组,fuadam 应该还有些知识点不太清晰我觉得,只是猜的,如果说得不中听就当我扯吧感谢二位的回答,结贴了!!!