Connect with us

Программирование

Строки в Swift выглядят одинаково, но не являются таковыми?

Две одинаковые строки отличались друг от друга. Как такое может быть?

Опубликовано

/

     
     

Недавно я столкнулся с проблемой, которая вызвала у меня недоумение. Две одинаковые строки отличались друг от друга. Как такое может быть?

Рассмотрим следующий код:

Получаем следующий вывод:

Что? Я просто читал строки из файла. Я начал сомневаться в реальности. Строки были одинаковыми и в то же время разными.

Я решил попробовать избавиться от странных символов пробела:

Нет:

В конце концов я немного покопался во внутренностях и открыл для себя радости невидимого знака порядка байтов \u{FEFF}.

Мои строки действительно содержали его (хотя, поскольку я читал их из файла, это было неочевидно):

Теперь у меня есть удобное расширение:

trimmingCharacters(in: .controlCharacters) тоже справляется с этой задачей:

Ух ты! Вселенная снова внутренне непротиворечива (я думаю).

Если вы нашли опечатку - выделите ее и нажмите Ctrl + Enter! Для связи с нами вы можете использовать info@apptractor.ru.
Telegram

Популярное

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: