Решено (в некотором роде)
Мне не удалось выяснить, почему некоторые символы, введенные с помощью пользовательского ввода, дают именно эту кодировку.
Флаттер , похоже, столкнулся с подобной проблемой.Но все это немного за пределами моих знаний, банкомат.
Хорошая новость заключается в том, что это не влияет на то, как строки отображаются в пользовательском интерфейсе.Таким образом, даже если текст, возвращаемый из события ввода, равен I\M-b\M^@\M^Ym on my
, метка по-прежнему отображает I'm on my
для пользователя.
Проблема возникает, когда пришло время сохранить эту закодированную строку в QRCode.Все обсуждения о том, как хранить строки, используют NSISOLatin1StringEncoding
.Я не могу найти его сейчас, но я считаю, что это также официальная рекомендация iOS.Но с нечетным набором кодирования, это в no bueno .
На данный момент использование NSUTF8StringEncoding
делает трюк (четный с emoji) .
Итак, если вы видите этот вывод в своих журналах и просто передаете его элементу пользовательского интерфейса, вам, вероятно, не нужно беспокоиться.Но если проблема заключается в кодировании (на iOS) , см. NSStringEncoding для ваших вариантов.