错误:System.Text.Encoding'不包含'Default'的定义

时间:2013-06-25 09:31:42

标签: c# windows-phone-7

我收到以下错误: 'System.Text.Encoding'不包含'Default'的定义 当我尝试使用默认的编码方法

var str2 = System.Text.Encoding.Default.GetString(bytearray);

通过,MSDN我已经了解System.Text.Encoding中存在Default方法,那么为什么我收到此错误? 默认的MSDN引用位于:enter link description here

请帮帮我。

2 个答案:

答案 0 :(得分:6)

Encoding.Default指的是常规窗口中的系统默认ANSI代码页,是从时间深度继承而来的。即使在常规窗口上,使用Encoding.Default 也是个好主意。 Windows Phone上不存在这样的概念,因此:使用正确的编码; 通常表示.UTF8

Windows手机不使用与Windows相同的.NET框架,尽管它们非常相似,而且很多代码都会以相同的方式编译。

答案 1 :(得分:2)

在您链接的MSDN页面上,如果展开“其他版本”下拉列表,您将看到未列出Silverlight(以及Windows Phone)。同样,如果您查看Silverlight版Encoding的成员,您将找不到Defaulthttp://msdn.microsoft.com/en-us/library/System.Text.Encoding_properties(v=vs.95).aspx

改为使用Encoding.UTF8

var str2 = System.Text.Encoding.UTF8.GetString(bytearray);