Обновить

Комментарии 9

Автор, респектище! Я году в 2009 писал статью про кодировки, но остановился тогда на codepoint-ах, другого ничего не было, даже графем. Сейчас читал, получал неземное удовольствие от развития трагичности сюжета! И концовка в стиле "всё плохо, все умерли" прекрасна!

А кому вообще может понадобиться переворачивать Юникодную строку? Не как поток байт (это может быть нужно при кодировании), а как осмысленную строку на любом языке.

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

Для поиска палиндромов, например. И ещё в SQL, если в диалекте в функциях поиска отсутвует поиск в обратном направлении, делается reverse - поиск - reverse.

Я не совсем понимаю суть проблемы. В джаве есть класс Character который конструируется из char. И он вроде бы сравниваемый. Почему не пройтись в цикле по обеим строкам превращая char в Character и сравнивая между собой?

Character оборачивает char, char 16 битный, а символ смайла 😄 за пределами 0xffff, и в виде char / Character его невозможно представить. А 👩‍❤️‍👩 вообще несколько code point, слитых а один глиф.

Интересно, до какой степени решения задачи (соответственно главам статьи) достаточно дойти при таком вопросе в собеседовании

С большим удовольствием читал статью. Очень круто!

Оно всё интересно, но я одного не могу понять.

Когда мы итерируем одну строку в обратную сторону, зачем её класть в новую строку, а не сразу сравнивать посимвольно со второй строкой?

Памяти меньше надо и (пологике, хотя не тестировал) быстрее.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Информация

Сайт
mir-platform.ru
Дата регистрации
Дата основания
Численность
1 001–5 000 человек
Местоположение
Россия
Представитель
Артём Попов