2016-03-10 27 views
5

Z .NET 4.6 mogę wykrywać bieżącą stronę kodową z:Jak mogę określić domyślne kodowanie w przenośnych klasy biblioteki?

System.Text.Encoding.Default 

Teraz usiłuję portu biblioteki klasy, który czyta pliki z biblioteki standardowej klasy do klasy przenośnej biblioteki, wspieranie ASP.NET Core 5 . W tej konfiguracji, Encoding.Default nie jest availiable.

Oczywiście każdy nowy plik powinien zostać zapisany w kodowaniu UTF-8, ale nie mogę zagwarantować, że wszystkie pliki są przechowywane w tym kodowaniu.

Czy jest jakiś inny sposób, aby uzyskać domyślną stronę kodową?

Spojrzałem na the reference source i stwierdził, że jest realizowany Encoding.Default (więcej rudy mniej) z wywołania Win32 Api ...

Odpowiedz

7

Zgodnie z dokumentacją tutaj: Encoding.GetEncoding Method (Int32) można użyć Encoding.GetEncoding (0), aby uzyskać domyślne kodowanie.

+0

I to działa przynajmniej pod 'NET 4.6' i uniwersalne okien aplikacji. Nie mogłem tego przetestować przy użyciu konsoli '.NET Core' - nie miałem dość cierpliwości w Visual Studio. – ventiseis