二进制转化成String类型
String Content = Encoding.UTF8.GetString(msg.Data);
String Content = Encoding.Unicod.GetString(msg.Data);
String Content = Encoding.Default.GetString(msg.Data);
这几种方法都不好用,有没有其他的方法!
请高手指点!!!!!急!!!!!!!!

解决方案 »

  1.   

    你的二进制是什么
    如果本身是STRING转成的编码的话这样就可以了
    不知道你本来的二进制是什么内容?
      

  2.   

    你的二进制数据格式是什么样的?要转换成什么样格式的string
      

  3.   

    编码格式 GB2312, 长度等等
    System.Text.Encoding.GetEncoding("GB2312").GetString(BYT, 0, N);
    GB2312 是简体中文的编码.
    你的问题肯定是编码格式的问题
      

  4.   

    string Content = msg.Data.ToString();
      

  5.   

    把msg.Data的数据内容抓图贴上来!
      

  6.   

    要看你的  msg.Data 数据本身的意义, 是否能用 string 表示, 如果不能, 转换就没有意义。
      

  7.   

    问题的关键部分没上来。。msg.Data   不过那几个方法应该还过得去啊  绝对主流
      

  8.   

    msg.Data = ssssssssssss转换成二进制后有转换成String的
    转化以后就成这样了!
    {\rtf1\ansi\ansicpg936\deff0\deflang1033\deflangfe2052{\fonttbl{\f0\fswiss\fcharset0 Arial;}{\f1\fnil\fcharset134 \'cb\'ce\'cc\'e5;}}
    \viewkind4\uc1\pard\lang2052\f0\fs18 ssssssssssssssss\f1\par
    }
    各位帮帮忙!!!急啊!!有没有什么好方法。不胜感激!
      

  9.   

    msg.Data = ssssssssssss转换成二进制后有转换成String的
    怎么转换的?应该是rtf格式文件啦!
      

  10.   

    你想解析rtf格式么?网上有开源的,自己搜索
      

  11.   

    利用RichTextBox当转换器。
                var rtf =
    @"{\rtf1\ansi\ansicpg936\deff0\deflang1033\deflangfe2052{\fonttbl{\f0\fswiss\fcharset0 Arial;}{\f1\fnil\fcharset134 \'cb\'ce\'cc\'e5;}}
    \viewkind4\uc1\pard\lang2052\f0\fs18 ssssssssssssssss\f1\par
    }";
                var editor = new RichTextBox();
                editor.Rtf = rtf;
                MessageBox.Show(editor.Text);
      

  12.   

     我也遇到这样的问题,不过byte数组是自己将String转换成的,存的时候有的占用1字节有的占用2字节,在用Encoding.Default.GetString()时候就出现问题了