这俩是一个东西,System.Text是命名空间

解决方案 »

  1.   

    一个把命名空间写全了,一个因为using过所以直接写了该命名空间下的类名
      

  2.   

    有这么一种可能
    你的命名空间没有引入System.Text,但有其它类包有一个名为Encoding的类,所以两者调用的不是一个方法
      

  3.   

    没区别,你还是多检查自己的str是否正确
      

  4.   

    把你的str内容和结果分别放出来给大家测试一下
    理论上不应该有区别,谁知道你到底怎么用的
      

  5.   

    没区别,你还是多检查自己的str是否正确好吧,其实是我看错了,应该是
    Encoding.Default.GetBytes(strcontect);跟
    System.Text.Encoding.Unicode.GetBytes(strcontect);
    编码方式不一样
      

  6.   

    Encoding.Default是系统默认的编码,应该是ANSI,他的编码中的英文字符为2位,Unicode的编码都是4位的
      

  7.   

    Default就是默认编码,正常应该就是Unicode
    除非你手动更改了程序集的默认编码方式
      

  8.   

    System.Text.Encoding.Unicode和Encoding.Unicode是一样的东西(后者,只是你的cs文件开头就已经using System.Text;)。
    Encoding.Default是获取操作系统的当前 ANSI 代码页的编码。 代码页是字符编码的别名,也称“内码表”,是特定语言的字符集的一张表。
    你可以设置一下断点,跟踪一下你的编码是什么。我的是:
      

  9.   


    我的encoding.unicode返回式utf-16.