byte[] bt = System.Text.Encoding.Default.GetBytes(value);//value是文件中的字符串
                    
string ss = System.Text.Encoding.GetEncoding("UTF-8").GetString(bt,0,bt.Length);// 参数只用(bt)的话,结果一样textBox1.AppendText(ss);
-------------------------------------------------------------
试了试只能用 utf8才能显示汉字,其余都乱码,如果是单数个字的话就会少显示一个字,
另外,如果是单数个字加其他字母或字符的话,仍然少一个字,字母或字符却可以显示
------------------------
请问应该如何修改啊比较急
多谢多谢

解决方案 »

  1.   

    byte[] bt = System.Text.Encoding.Default.GetBytes(value);//value是文件中的字符串
    //把Default也换成utf-8试试看.
                        
    string ss = System.Text.Encoding.GetEncoding("UTF-8").GetString(bt,0,bt.Length);// 参数只用
      

  2.   

    //value是文件中的字符串
    这个value是如何读取的呢?如果文件本身就是utf-8的格式,在读取的时候就应该按此种格式来读.而不是default.
      

  3.   

    试过了,只能用default,改成其他的就乱码郁闷
      

  4.   

    编码必须一致
    byte[] bt = System.Text.Encoding.Default.GetBytes(value);//value是文件中的字符串
    string ss = System.Text.Encoding.Default.GetString(bt, 0, bt.Length);// 
    不用为这些小技巧烦,轻松学习编程详见:http://www.psec.net.cn
      

  5.   

    编码必须一致
    byte[] bt = System.Text.Encoding.Default.GetBytes(value);//value是文件中的字符串
    string ss = System.Text.Encoding.Default.GetString(bt, 0, bt.Length);// 
    ========================================================================
    不行啊,这样就乱码了唉
      

  6.   

    再试一试
    byte[] bt = System.Text.Encoding.UTF8.GetBytes(value);//value是文件中的字符串
    string ss = System.Text.Encoding.UTF8.GetString(bt, 0, bt.Length);// 
    如果还有问题,那你的问题与这两语句无关,问题出在value
      

  7.   

    再试一试
    byte[] bt = System.Text.Encoding.UTF8.GetBytes(value);//value是文件中的字符串
    string ss = System.Text.Encoding.UTF8.GetString(bt, 0, bt.Length);// 
    如果还有问题,那你的问题与这两语句无关,问题出在value
    ------------------------------------------------------------
    果然还是不行啊
    这是做的 Solid Edge 二次开发,读 dft文档的属性(即value的值),
    用的是 从网上得到的一个读取solidedge文件属性的工具包 Newell.SolidEdgeFileProperties不太好办啊累了
      

  8.   

    请问 windows 和 .net 默认的字符集是什么呀?
    使用 托管或非托管 会有区别吗?
    多谢