工作任务是做一个rtf的阅读器,格式的转换都没有什么问题
可是在RTF文件中,中文等双字节字符采用其单字节ASCII码序列表示,例如文本“宋体ABC”表示为:\'cb\'ce\'cc\'e5ABC
如何把单字节ASCII码转变成双字节的中文呢?

解决方案 »

  1.   

    你可以如下使用
    using System.Text;
    string strValue = Encoding.ASCII.GetString( yourByteArray );
      

  2.   


    byte[] sby1 =System.Text.Encoding.ASCII.GetBytes("cbce");
    string strValue = Encoding.ASCII.GetString( sby1);
    这样还是会返回“cbce”
    是不是对"cbce"做16进制转换?
      

  3.   

    byte[] bytes = new byte[2];
     bytes[0] = 0xcb;
     bytes[1] = 0xce;
     MessageBox.Show(Encoding.Default.GetString(bytes));//输出"宋"
      

  4.   

    sample code as follows:
    byte[] bBuffer = new byte[2];
    bBuffer[0] = Convert.ToByte( "cb" );
    bBuffer[1] = Convert.ToByte( "ce" );
    string strValue = Encoding.ASCII.GetString( bBuffer );
      

  5.   

    谢谢 xiaohuasz()、Knight94(愚翁),可以了
      

  6.   

    输入字符串的格式不正确。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.FormatException: 输入字符串的格式不正确。源错误: 
    行 81: 
    行 82:  byte[] bBuffer = new byte[2];
    行 83:  bBuffer[0] = Convert.ToByte( "cb" );
    行 84:  bBuffer[1] = Convert.ToByte( "ce" );
    行 85:  string strValue = Encoding.ASCII.GetString( bBuffer );
     
    ?????是什么原因啊?
      

  7.   

    各位大哥帮人帮到底啊
    怎么把string 型的变成byte型的啊