2013-06-25 2 views
4

Я получаю следующую ошибку: ' System.Text.Encoding 'не содержит определения для' Default ' , когда я пытаюсь использовать метод кодирования по умолчанию черезОшибка: System.Text.Encoding 'не содержит определения для' Default '

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

Through, MSDN я узнать, существуют по умолчанию метод в System.Text.Encoding, то почему я получаю эту ошибку? MSDN refrence for Default is here: enter link description here

, пожалуйста, помогите мне.

+0

Я использую Visual Studio 2010 Express для Windows Phone. – creativemujahid

+0

Вместо этого используйте 'System.Text.Encoding.UTF8'. – mak

ответ

6

Encoding.Default ссылается на кодовую страницу ANSI по умолчанию в стандартных окнах, унаследованных от глубины времени. Даже на обычных окнах, это не a хорошая идея использовать Encoding.Default. На телефоне Windows такого понятия нет, поэтому: используйте правильную кодировку; которое обычно означает .UTF8.

Телефон Windows не использует ту же платформу .NET, что и Windows, хотя они очень похожи и много кода будет скомпилировать одинаково.

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);