2016-06-12 9 views
10

Я использую Xamarin для разработки Android приложений, при попытке преобразовать текст в byte[] я получаю следующее сообщение об ошибке:Нет доступных для кодирования 1252 данных - Xamarin

no data is available for encoding 1252

Мой код:

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

Это ваш фактический код? Единственная часть, которая касается кодировок, - первая строка, и она использует UTF-8, а не cp1252 ... какая строка точно генерирует исключение? –

+0

Какая строка вызывает ошибку? Вы уверены, что должны использовать что-либо в пространстве имен '_Mono'? – Kroltan

ответ

14

Western Code page (1252) не входит в ваш окончательный IPA/APK.

для IOS проектов, включите его, проверяя west под Свойства проекта ->IOS Строить ->Интернационализация:

enter image description here

Для Android проектов, включите его, проверяя west под Свойства проекта ->Android Build ->Linker ->Интернационализация:

enter image description here

4

В Visual Studio, необходимо перейти в окно свойств каждого проекта:

прошивка

Вы должны прокрутить вниз до 'запада'

enter image description here

Android enter image description here

Смежные вопросы