CBPeripheral名称。编码问题

时间:2014-02-02 12:25:35

标签: encoding core-bluetooth cbperipheral

我希望更改的是iOS蓝牙设置和我的应用中显示的外围设备名称,以便用户可以识别该设备。

我的工作是:

  1. 用户在UITextField中写一个名字,然后我得到了NSString。
  2. 我将NSString转换为NSData。
  3. 使用新的外围设备名称编写特性。
  4. 周边更改GATT设备名称。
  5. 如果我使用UTF8编码来获取NSData,那么一切正常,但是在使用波浪号,书写重音符和西里尔字母时会有问题,因为app支持多种语言。不确定iOS设备或外围设备是否存在问题。

    我的问题:

    1. 我应该使用什么编码?
    2. 是否可以将此字符用于名称?
    3. 调用peripheral.name时,返回的字符串使用什么编码?
    4. 是否有其他类型的解决方案可以更改显示的外围设备名称?

1 个答案:

答案 0 :(得分:0)

名称以UTF-8编码,符合规范。 UTF-8 is a multibyte coding,因此将字节值解释为单独的字符可能会导致意外结果。