Как Вы устанавливаете строки на верхний регистр / нижний регистр в Unicode?

В Java все находится в форме класса.

Если вы хотите использовать любой объект, тогда у вас есть две фазы:

  1. Объявить
  2. Инициализация

Пример:

  • Объявление: Object a;
  • Инициализация: a=new Object();

То же самое для концепции массива

  • Объявление: Item i[]=new Item[5];
  • Инициализация: i[0]=new Item();

Если вы не дают секцию инициализации, тогда возникает NullpointerException.

14
задан ErikE 10 September 2010 в 20:05
поделиться

4 ответа

Существует отображающийся файл, который содержит все отображения случая, которые имеют 1:1 отображающееся отношение. Обычно операционные системы/платформы/библиотеки поддерживают определенную версию Unicode, и так как этот файл отображений случая является имеющим версию, Вы заставили бы отображения для какой бы ни версия Unicode Ваша конкретная ОС/платформа/библиотека/что бы ни случилось поддерживать.

Для получения дополнительной информации об отображениях случая Unicode, см.: http://www.unicode.org/faq/casemap_charprop.html

12
ответ дан 1 December 2019 в 08:44
поделиться

Большинство систем письменности не имеет отдельных прописных и строчных букв. Согласно Википедии, исключения включают "римлянина, грека, кириллические и армянские алфавиты".

, Таким образом, нет то, что много букв для волнения о. Эта страница показывает, что большие спектры символов следуют простой схеме добавления 1 к символу верхнего регистра для получения строчного эквивалента (хотя, конечно, существуют некоторые исключения).

3
ответ дан 1 December 2019 в 08:44
поделиться

Я собираюсь обратиться к части SQL Server MS этого вопроса, но "корректный" ответ на самом деле зависит от поддерживаемого языка (языков) и приложение.

, Когда Вы составляете таблицу в SQL Server, каждое текстовое поле имеет или неявно или явно указанное сопоставление. Это влияет и на порядок сортировки и на поведение сравнения. Значение по умолчанию, для большинства английских (американских) локалей, является Latin1_General_CI_AS или латинским 1, Нечувствительным к регистру, Чувствительным к диакритическим знакам. Это означает что, например, a=A, но a! =Г „и a! =Г¤. Можно также использовать не чувствительный к диакритическим знакам (Latin1_General_CI_AI), который рассматривает все диакритические изменения "A" как равные.

Некоторые локали поддерживают другие категории сравнения; например, французский заказывает слова, содержащие диакритические знаки несколько по-другому, чем немецкий язык. Турецкий язык рассматривает без точки i и отметил точкой меня семантически отличающийся, таким образом, я и я не соответствуем даже нечувствительным к регистру сравнениям, если Вы используете турецкое, нечувствительное к регистру, чувствительное к диакритическим знакам сопоставление.

можно изменить сопоставление для каждой базы данных, на таблицу, на поле, и, с некоторой стоимостью, даже на запрос. Мое понимание - то, что индексы нормализуют согласно указанному порядку сопоставления, что означает, что в основном индекс сохраняет сглаженную версию исходной строки. Например, с нечувствительными к регистру сопоставлениями, Apple и яблоко хранятся как яблоко. Запросы сглажены с тем же сопоставлением перед поиском.

На японском языке, существует другая категория нормализации, где полноширинные и полуширинные символы как г‚ ў=пЅ±, и в некоторых случаях, два полуширинных символа сглажены к единственному, семантически эквивалентному символу (гѓђ=пѕЉпѕћ). Наконец, для некоторых языков, существует другой все на свете с составными символами, где изолированные диакритические символы могут быть составлены с другими символами (например, умляут в Г¤ является одним символом, составленным с простой формой a). Вьетнамский язык, тайский язык и несколько других языков имеют изменения этой категории. Если существует каноническая форма, нормализация Unicode позволяет составленным и анализируемым формам рассматриваться как эквивалентную. Нормализация Unicode обычно применяется, прежде чем любые сравнения сделаны.

подводя итоги, для нечувствительного к регистру сравнения, Вы делаете что-то во многом как Вы, был бы при сравнении строк диапазона ASCII: сгладьте левую и правую сторону сравнения "с нижним регистром" (например), затем сравните массив как двоичный массив. Различие - то, что необходимо 1) нормализовать строки к той же форме unicode (kC, или kD) 2) нормализуют строки к тому же случаю согласно правилам той локали, 3) нормализуют диакритические знаки согласно правилам чувствительности диакритического знака, 4) выдерживают сравнение согласно двоичному сравнению 4) если применимо, такой как в случае сортировки, сравнивают использующие дополнительные вторичные и троичные правила сортировки, которые включают вещи, аналогичные вещам как виды "МГц" прежде "M" на некоторых языках.

И да, Windows хранит таблицы для всех этих правил. Вы не получаете всех их по умолчанию в каждой установке, если Вы не добавляете поддержку их с восточноазиатской Поддержкой Языка и Сложной поддержкой Сценариев со стороны панели управления.

16
ответ дан 1 December 2019 в 08:44
поделиться

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

При сравнении символьных строк, для того, чтобы отсортировать или найти заявления, корректный алгоритм для использования указан в № 10 UTS: "Алгоритм сопоставления Unicode". Нечувствительность к регистру является частью соединения, но существуют различные способы представить много символов, и приложения часто должны рассматривать различные представления как эквивалентные.

правила сортировки зависимы от локали. Это - главным образом проблема при сортировке результатов для дисплея пользователю. Игнорирование правил может расстроить пользователей и даже привести к уязвимостям системы обеспечения безопасности.

, Если Вы просто пытаетесь использовать для своей выгоды слова в целях дисплея, правила там могут быть хитрыми также; существуют one-many преобразования и другие проблемы. В зависимости от локали та же буква может использовать для своей выгоды по-другому. Положение буквы, одним словом, может иметь значение. Существует также отличное понятие "случая заголовка", где Вы просто хотите использовать для своей выгоды первую букву каждого слова. Иногда случай заголовка символа не является тем же как своим верхним регистром.

1
ответ дан 1 December 2019 в 08:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: