Проблема с извлечением текста из NativeScript TextField - PullRequest
0 голосов
/ 28 сентября 2018

Получение неожиданного поведения с помощью TextField

У меня есть функция, которая повышена с returnPress.Он принимает новое значение text и устанавливает его в качестве значения сообщения QR-кода.

Все работает нормально, пока я не передам строку типа Я в пути ,Это вернет I \ Mb \ M ^ @ \ M ^ Ym на моем пути .Который не может быть передан создателю QR-кода, так как кодирование строковых данных завершается неудачей.

Не имеет значения, пытаюсь ли я получить text непосредственно из args.object.text или через binding.

Если я возьму text и установлю его на Label, он будет отображаться, как и ожидалось.

Попытался воспроизвести его на Playground , но я не вижу проблемытам.Так что это должно быть что-то конкретное для моего локального проекта.

Я никогда не видел \ Mb \ M ^ @ \ M ^ Y раньше.

  • Что это?
  • Можно ли отменить это?Или остановить это?

Проверено только на iOS , не знаю, произойдет ли это на Android .

Любое понимание приветствуется, ура.

Ответы [ 2 ]

0 голосов
/ 02 октября 2018

Решено (в некотором роде)

Мне не удалось выяснить, почему некоторые символы, введенные с помощью пользовательского ввода, дают именно эту кодировку.

Флаттер , похоже, столкнулся с подобной проблемой.Но все это немного за пределами моих знаний, банкомат.

Хорошая новость заключается в том, что это не влияет на то, как строки отображаются в пользовательском интерфейсе.Таким образом, даже если текст, возвращаемый из события ввода, равен I\M-b\M^@\M^Ym on my, метка по-прежнему отображает I'm on my для пользователя.

Проблема возникает, когда пришло время сохранить эту закодированную строку в QRCode.Все обсуждения о том, как хранить строки, используют NSISOLatin1StringEncoding.Я не могу найти его сейчас, но я считаю, что это также официальная рекомендация iOS.Но с нечетным набором кодирования, это в no bueno .

На данный момент использование NSUTF8StringEncoding делает трюк (четный с emoji) .

Итак, если вы видите этот вывод в своих журналах и просто передаете его элементу пользовательского интерфейса, вам, вероятно, не нужно беспокоиться.Но если проблема заключается в кодировании (на iOS) , см. NSStringEncoding для ваших вариантов.

0 голосов
/ 28 сентября 2018

Протестировал ваш код с помощью VsCode и Android Emulator.Не вижу никаких проблем.Изображение обновлено с выводом на консоль.enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...