сравнение двоичной строки ruby - PullRequest
0 голосов
/ 29 апреля 2011

Я хочу уточнить мое понимание сравнения строк в Ruby.

Как Ruby сравнивает двоичные строки?

Делает ли он (a) строки на символы UTF-8, сравнивает строки на основе длины двоичной строки в символах UTF-8 и значений символов UTF-8, или (b) сравнивает строки на уровне байтов?

1 Ответ

1 голос
/ 29 апреля 2011

Это зависит от того, какую версию Ruby вы используете

В Ruby 1.8 строки представляют собой просто набор байтов .

В Ruby 1.9 строки представляют собой набор закодированных данных .

Сравнение строк в Ruby 1.9 выполняется на уровне байтов, но некоторые другие операции, такие как сопоставление с регулярным выражением, - нет. Лучше нормализовать ваши объекты String в той же кодировке, прежде чем сравнивать их.

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