Push-уведомление на неанглийских языках - PullRequest
2 голосов
/ 21 января 2010

Я успешно реализовал этот код:

Кто-нибудь знает, как написать провайдера push-уведомлений Apple на C #?

Отлично работает. Но у меня есть вопрос, кто-нибудь может мне помочь, как отправлять неанглийские сообщения, такие как иврит или арабский?

Если строка содержит неанглийские символы, она не отправляется.

Спасибо

1 Ответ

10 голосов
/ 22 января 2010

Я нашел решение.

Длина была неправильной. В коде мы передаем длину строки перед подсчетом. Мы должны посчитать его после кодировки UTF:

writer.Write((byte)0); //First byte of payload length; (big-endian first byte) 
enter code herebyte[] b1 = System.Text.Encoding.UTF8.GetBytes(payload);
writer.Write((byte)b1.Length);     //payload length (big-endian second byte) 
...