Я ищу некоторые примеры как и , когда умные люди делают сравнение строк в Юникоде, по сравнению со структурой по умолчанию.
Поскольку многие люди не работают со строками из других культур, вот несколько интересных примеров сравнения, которые я нашел.
- .ToUpper ()
- СтрочныеТурецкий 'i' преобразуется в верхний регистр İ (U + 0130)
- равно
- Прописная версия турецкого примера выше
- Сравнение равенства для последнего слова в предложении
- Иврит трактует последнюю букву в предложении иначе, чем то, как она будет представлена на арабском языке
- ...другие примеры ...
Вопрос
Какие сравнения распространены в мире Юникода?(не стесняйтесь расширять примеры языков)
В каких ситуациях я должен использовать (или не использовать) сравнения, не зависящие от культуры?Кажется, это сводится либо к «лингвистической», либо к «неязыковой / (двоичной)» операции.
- Как это относится к безопасности и проверке имен пользователей / паролей.
- Как и когда выбирать между лингвистическими операциями и нелингвистическими операциями?
Мне особенно интересно, как это повлияет на китайский и другие восточные языки.
Ссылки
Исследуя этот вопрос, я наткнулся на эти сайты
Джоэл о программном обеспечении: что должен знать каждый разработчик о Unicode
Строки в .NET