У меня есть NSData:Swift конвертировать NSData в строку
print("DEVICE TOKEN = \(deviceToken)")
, содержащий следующее:
DEVICE TOKEN = <19bd2388 88adb725 996437e3 cac6b7a5 7ba9157d 71bb5c00 ebee575f 255eca47>
, когда я пытаюсь преобразовать его с помощью
String(data: deviceToken, encoding: NSUTF8StringEncoding)
мой Строка nil .... но когда я использую следующее:
String(data: deviceToken, encoding: NSASCIIStringEncoding)
я получаю это:
"\u{19}½#·%d7ãÊÆ·¥{©\u{15}}q»\\\0ëîW_%^ÊG"
Как я могу получить реальную стоимость NSData?
Если вы пытаетесь получить шестнадцатеричный String, вы можете просто преобразовать его в String и затем удалить все не-шестнадцатеричные символы, заменив Regex '' [<>] "' на '" "... ... Например, попробуйте NSRegularExpression (pattern:" [<>] ", опции: NSRegularExpressionOptions()). stringByReplacingMatchesInString (String (токен), параметры: NSMatchingOptions(), диапазон: NSMakeRange (0, String (токен) .utf16.count), withTemplate: "") ' – Jojodmo