1

iOS の Bluetooth 設定とアプリに表示される周辺機器の名前を変更して、ユーザーがデバイスを識別できるようにします。

私がすることは:

  1. ユーザーが UITextField に名前を書き、NSString を取得します。
  2. NSString を NSData に変換します。
  3. 特性は、新しいペリフェラル名で書き込まれます。
  4. Peripheral 変更 GATT デバイス名。

UTF8 エンコーディングを使用して NSData を取得すると、すべて正常に動作しますが、アプリが複数の言語をサポートしているため、チルダ、アクセント記号、キリル文字に問題があります。問題が iOS デバイスにあるのか周辺機器にあるのかわかりません。

私の質問:

  1. どのエンコーディングを使用すればよいですか?
  2. この文字を名前に使用することは可能ですか?
  3. peripheral.name が呼び出されたときに返される文字列には、どのエンコーディングが使用されますか?
  4. 表示される周辺機器の名前を変更する別の種類の解決策はありますか?
4

1 に答える 1

0

名前は、仕様に準拠した UTF-8 でエンコードされます。UTF-8 はマルチバイト コーディングであるため、バイト値を個別の文字として解釈すると、予期しない結果が生じる可能性があります。

于 2014-02-28T12:46:53.693 に答える