我收到以下错误: 'System.Text.Encoding'不包含'Default'的定义 当我尝试使用默认的编码方法
var str2 = System.Text.Encoding.Default.GetString(bytearray);
通过,MSDN我已经了解System.Text.Encoding中存在Default方法,那么为什么我收到此错误? 默认的MSDN引用位于:enter link description here
请帮帮我。
答案 0 :(得分:6)
Encoding.Default
指的是常规窗口中的系统默认ANSI代码页,是从时间深度继承而来的。即使在常规窗口上,使用Encoding.Default
也是个好主意。 Windows Phone上不存在这样的概念,因此:使用正确的编码; 通常表示.UTF8
。
Windows手机不使用与Windows相同的.NET框架,尽管它们非常相似,而且很多代码都会以相同的方式编译。
答案 1 :(得分:2)
在您链接的MSDN页面上,如果展开“其他版本”下拉列表,您将看到未列出Silverlight(以及Windows Phone)。同样,如果您查看Silverlight版Encoding
的成员,您将找不到Default
:http://msdn.microsoft.com/en-us/library/System.Text.Encoding_properties(v=vs.95).aspx
改为使用Encoding.UTF8
:
var str2 = System.Text.Encoding.UTF8.GetString(bytearray);