0

プッシュ通知のプロトタイプを作成していたとき、ローカライズされていない文字列を含む php スクリプトを iPhone にプッシュしました。ここに絵文字記号を含めることもできました。

asp.net を使用して Web サービスを作成し、IOS 側でプッシュ通知をローカライズしました。

しかし、絵文字記号が機能しないようです。ローカライズされた文字列で Unicode エスケープ シーケンスのすべての組み合わせを試しました。また、絵文字をプッシュ通知の引数として送信し、ローカライズされた文字列「%@」に含めてみました。および「%C」ですが、うまくいきません。

私は ATM で立ち往生しているので、私を元に戻すためのヒントは非常に高く評価されています

ステファン

4

1 に答える 1

0

JSON RFCによると、「Basic Multilingual Plane」の一部ではない文字は、UTF-16 サロゲート ペアを使用してエスケープできます。

たとえば、絵文字記号 "THUMBS UP SIGN" は Unicode codepointU+1F44Dであり、これに対する UTF-16 サロゲート ペアは次のとおりです。

0xD83D, 0xDC4D

JSON Unicode エスケープ シーケンスは次のようになります。

\ud83d\udc4d 

これをプッシュ通知ペイロードのアラート部分に含めると、シンボルが正しく表示されます (テスト済み)。

ただし、UTF-8 を使用することもできます。「THUMBS UP SIGN」の場合、これはバイトになります。

0xF0, 0x9F, 0x91, 0x8D
于 2012-11-08T13:37:09.837 に答える