2015-11-07 25 views
10

Yerel metinler için bazı metin dosyalarını kodlamam gerekiyor. olan 'windows-1254': my Windows 8.1 Mağaza uygulamasında Encoding.GetEncoding, UWP uygulamasında çalışmaz

, normalde Encoding.GetEncoding() yöntemi kullanabilirsiniz:

Encoding.GetEncoding("windows-1254") 

Ama UWP uygulamasında, bu özel durum var:

ek bilgiler desteklenen bir kodlama adı değil. Özel kodlamayı tanımlama hakkında bilgi için Encoding.RegisterProvider yönteminin belgelerine bakın.

Ben, herhangi bir fikir Encoding.RegisterProvider yöntemi kullanarak çalışmasını sağlamak için nasıl bilmiyorum?

cevap

18

Bu belirli sağlayıcıda bulunan genişletilmiş kodlamaları kaydetmek için CodePagesEncodingProvider'ı kullanmamız gerekir. Bkz CodePagesEncodingProvider Sınıf

Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); 
Encoding.GetEncoding("windows-1254"); 

Ref https://msdn.microsoft.com/en-us/library/system.text.encodingprovider(v=vs.110).aspx

.NET Framework sınıf kitaplığı bir statik özellik sağlar, P:System.Text.CodePagesEncodingProvider.Instance, masaüstünde mevcut kodlamaların tam bir set hale getiren bir EncodingProvider nesnesi döndüren .NET Framework Sınıf Kitaplığı .NET Core uygulamalarında kullanılabilir.

MSDN forumdaki ilgili thread: Encoding.RegisterProvider -- How to use?

+0

İlginç, bu değişikliği bilmiyorum, ben daha sonra test edecek, sen UWP uygulamasında söz konusu denediniz mi? –

+0

@UniversalHeart Tabii, UWP app –

+1

iyi çalıştı Teşekkür ederim, işe yarıyor, takdir! Sen kahramansın :) –