2016-06-12 9 views
10

używam Xamarin rozwijać aplikację na Androida, podczas próby do konwersji tekstu do byte[] pojawia się następujący błąd:niedostępne dla kodowania 1252 DATA - Xamarin

no data is available for encoding 1252

Mój kod:

byte[] mybyteA= Portable.Text.Encoding.UTF8.GetBytes(mystring); 

Mono.Security.Cryptography.SHA224Managed sha22 = new _Mono.Security.Cryptography.SHA224Managed(); 
byte[] hash = sha22.ComputeHash(mybyteA); 
+0

https://bugzilla.xamarin.com/show_bug.cgi?id=39237 – GSerg

+0

Jest to rzeczywisty kod? Jedyną częścią, która zajmuje się kodowaniem, jest pierwsza linia i używa ona UTF-8, a nie cp1252 ... która linia dokładnie zgłasza wyjątek? –

+0

Która linia powoduje błąd? Czy na pewno chcesz użyć czegokolwiek w przestrzeni nazw '_Mono'? – Kroltan

Odpowiedz

14

Numer Western Code page (1252) nie jest dołączany do ostatecznego IPA/APK.

Dla iOS projektów, m.in. poprzez zaznaczenie west pod Właściwości projektu ->iOS Budowanie ->Internacjonalizacja:

enter image description here

Dla projektów z Androidem, to go sprawdzając west pod Właściwości projektu ->Android Build ->Łącznik ->Internacjonalizacja:

enter image description here

4

W Visual Studio, należy przejść do okna właściwości każdego projektu:

iOS

Musisz przewinąć w dół aż do 'Zachodu'

enter image description here

Android enter image description here