~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 415A214BAC8AB4697E3FDBC1C79C4D01__1713699840 ✰
Заголовок документа оригинал.:
✰ International Components for Unicode - Wikipedia ✰
Заголовок документа перевод.:
✰ Международные компоненты для Unicode — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/International_Components_for_Unicode ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/41/01/415a214bac8ab4697e3fdbc1c79c4d01.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/41/01/415a214bac8ab4697e3fdbc1c79c4d01__translat.html ✰
Дата и время сохранения документа:
✰ 15.06.2024 20:58:07 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 21 April 2024, at 14:44 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Международные компоненты для Unicode — Википедия Jump to content

Международные компоненты для Unicode

Из Википедии, бесплатной энциклопедии
Разработчики) Консорциум Юникод
Начальная версия 1999
Стабильная версия
75.1 [1]  Отредактируйте это в Викиданных/ 16 апреля 2024 г .; 59 дней назад ( 16 апреля 2024 г. )
Репозиторий
Написано в C / C++ ( C++11 ) и Java 8+
Операционная система Кросс-платформенный
Тип Библиотеки для Unicode и интернационализации
Лицензия Лицензия Юникод
Веб-сайт отделение интенсивной терапии .юникод .org

International Components for Unicode ( ICU ) — это проект с открытым исходным кодом , состоящий из зрелых C / C++ и Java библиотек Unicode для поддержки , интернационализации программного обеспечения и глобализации программного обеспечения. ICU широко переносится на многие операционные системы и среды. Он дает приложениям одинаковые результаты на всех платформах, а также между программным обеспечением C, C++ и Java. Проект ICU создан техническим комитетом Консорциума Unicode и спонсируется, поддерживается и используется IBM и многими другими компаниями. [2] ICU включен в качестве стандартного компонента в Microsoft Windows, начиная с Windows 10 версии 1703. [3]

ICU предоставляет следующие услуги: обработка текста в Юникоде , полные свойства символов и наборов символов преобразования Юникода ; Регулярные выражения ; полные наборы Unicode; границы символов, слов и строк; с учетом языка сортировка и поиск ; нормализация , преобразование верхнего и нижнего регистра и транслитерация скриптов ; комплексная локали архитектура пакетов данных и ресурсов через Common Locale Data Repository (CLDR); несколько календарей и часовых поясов ; а также форматирование и анализ дат, времени, чисел, валют и сообщений на основе правил. ICU исторически предоставлял комплексную службу макетирования текста для арабского, иврита, индийского и тайского языков, но она была устарела в версии 54 и была полностью удалена в версии 58 в пользу HarfBuzz . [4]

ICU предоставляет более широкие возможности интернационализации, чем стандартные библиотеки для C и C++. В будущем выпуске ICU 75, запланированном на апрель 2024 года, потребуется C++17 (вместо C++11 ) или C11 (вместо C99), в зависимости от того, какие языки используются. ICU исторически использовал UTF-16 и до сих пор использует только для Java; в то время как для C/C++ UTF-8 , поддерживается [5] [6] включая правильную обработку «незаконного UTF-8». [7]

В ICU 73.2 внесены существенные изменения в поддержку соответствия требованиям GB18030-2022 , то есть для китайского языка (обновленный китайский стандарт формата преобразования Unicode GB18030 немного несовместим); имеет «модифицированную таблицу преобразования символов, сопоставляющую некоторые символы GB18030 с символами Юникода, которые были закодированы после GB18030-2005», а также ряд других изменений, таких как улучшение разрыва строк короткого текста на японском и корейском языках, а также на «английском языке» имя « «Тюркие» теперь используется для обозначения страны вместо «Турция» (в данных также доступно альтернативное написание)». [8]

ICU 74 "обновления Unicode 15.1, включая новые символы, смайлы, механизмы безопасности, а также соответствующие API и реализации. [..] ICU 74 и CLDR 44 — это основные выпуски, включающие новую версию Unicode и значительные улучшения данных локали». [9] Из множества изменений некоторые касаются форматирования имени человека или улучшения языковой поддержки, например, нижненемецкого языка , а также, например, нового API проверки подделки, следующего за (последней версией) Unicode 15 .1.0 UTS #39: Механизм безопасности Unicode.

Подробности старой версии [ править ]

ICU 72 обновлен до Unicode 15 (и 73.2 до последней версии 15.1). «Во многих шаблонах форматирования пробелы ASCII заменяются пробелами Unicode (например, « тонким пробелом »).» ICU (ICU4J) теперь требует Java 8, но «Большая часть библиотечного кода ICU 72 по-прежнему должна работать с Java 7/Android API уровня 21, но мы больше не тестируем Java 7». [10] В ICU 71 добавлен, например, перенос строк на основе фраз для японского языка (более ранние методы не работали для короткого японского текста, например, в заголовках и заголовках) и поддержка хинди, написанного латинскими буквами (hi_Latn), также называемого « хинглиш ». . В ICU 70 добавлена, например, поддержка свойств emoji строк, и теперь его можно создавать и использовать с компиляторами C++20 (а функции ICU оператор==() и оператор!=() теперь возвращают bool вместо UBool в качестве корректировки для несовместимые изменения в C++20"), [11] и начиная с этой версии минимальной версией Windows является Windows 7 . ICU 67 занимается выводом Великобритании из ЕС . В ICU 64.2 добавлена ​​поддержка Unicode 12.1, то есть единственного нового символа текущей японской эпохи Рэйва (но его поддержка также была перенесена в более старые версии ICU, вплоть до ICU 4.8.2). ICU 58 (с поддержкой Unicode 9.0) — последняя версия, поддерживающая старые платформы, такие как Windows XP и Windows Vista . Поддержка AIX , Solaris и z/OS также может быть ограничена в более поздних версиях (т.е. сборка зависит от поддержки компилятора). [12]

и развитие Происхождение

После того как Taligent стала частью IBM в начале 1996 года, Sun Microsystems решила, что новый язык Java должен иметь лучшую поддержку интернационализации. Поскольку компания Taligent имела опыт работы с такими технологиями и была близка географически, их группе Text and International было предложено внести международные классы в Java Development Kit как часть интернационализации JDK 1.1 API-интерфейсов . [13] Большая часть этого кода все еще существует в java.text и java.utilпакеты. Дополнительные функции интернационализации добавлялись с каждым последующим выпуском Java.

Классы интернационализации Java затем были перенесены на C++ и C. [14] как часть библиотеки, известной как ICU4C («ICU для C»). Проект ICU также предоставляет ICU4J («ICU для Java»), который добавляет функции, отсутствующие в стандартных библиотеках Java. ICU4C и ICU4J очень похожи, хотя и не идентичны; например, ICU4C включает API регулярных выражений, а ICU4J — нет. Обе платформы со временем были усовершенствованы для поддержки новых возможностей и новых функций Unicode и Common Locale Data Repository (CLDR).

ICU был выпущен как проект с открытым исходным кодом в 1999 году под названием IBM Classes for Unicode. Позже он был переименован в «Международные компоненты для Юникода». [15] В мае 2016 года проект ICU присоединился к консорциуму Unicode в качестве технического комитета ICU-TC , и исходники библиотеки теперь распространяются под лицензией Unicode. [16]

Формат сообщения [ править ]

Частью ICU является класс MessageFormat , система форматирования, которая позволяет любому количеству аргументов управлять формой множественного числа ( plural, selectordinal) или более общий переключателя ( выбор в стиле select) для таких вещей, как грамматический род . Эти операторы могут быть вложенными. [17] ICU MessageFormat был создан путем добавления системы множественного числа и выбора к одноименной системе в Java SE .

Альтернативы [ править ]

Альтернативой использованию ICU с C++ или его непосредственному использованию является использование Boost.Locale, который является оболочкой C++ для ICU (но при этом позволяет использовать другие серверные части). [18] ). Утверждение, что его использование вместо непосредственного использования ICU заключается в том, что оно «абсолютно недружелюбно по отношению к разработчикам C++. Оно игнорирует популярные идиомы C++ (STL, RTTI, исключения и т. д.), вместо этого в основном имитируя Java API». [19] [20] Другое утверждение о том, что ICU поддерживает только UTF-16 (и, следовательно, причина избегать использования ICU), больше не соответствует действительности, поскольку ICU теперь также поддерживает UTF-8 для C и C++. [5]

См. также [ править ]

Ссылки [ править ]

  1. ^ «Выпуск ICU 75.1 · unicode-org/icu» . Проверено 21 апреля 2024 г.
  2. ^ «ICU — Международные компоненты для Юникода» . сайт.icu-project.org . Архивировано из оригинала 27 августа 2021 г. Проверено 14 ноября 2011 г.
  3. ^ Чен, Раймонд (27 мая 2021 г.). «Как я могу преобразовать часовые пояса IANA и часовые пояса на основе реестра Windows?» . Старая новая вещь . Майкрософт .
  4. ^ «Механизм макета — Руководство пользователя отделения интенсивной терапии» . userguide.icu-project.org .
  5. ^ Перейти обратно: а б «УТФ-8» . Документация ОИТ . Проверено 24 мая 2022 г.
  6. ^ «UTF-8 — Руководство пользователя отделения интенсивной терапии» . userguide.icu-project.org . Проверено 03 апреля 2018 г.
  7. ^ «#13311 (изменить обработку недопустимого UTF-8 на «лучшую практику» Unicode)» . bugs.icu-project.org . Проверено 03 апреля 2018 г.
  8. ^ «ICU — Международные компоненты для Юникода — ICU 73» . icu.unicode.org . Проверено 24 сентября 2023 г.
  9. ^ «ICU — Международные компоненты для Юникода — ICU 74» . icu.unicode.org . Проверено 29 ноября 2023 г.
  10. ^ «ICU — Международные компоненты для Юникода — ICU 72» . icu.unicode.org . Проверено 24 января 2023 г.
  11. ^ «ICU — Международные компоненты для Unicode — ICU 70» . icu.unicode.org . Проверено 24 января 2023 г.
  12. ^ «Загрузить ICU 64 — ICU — Международные компоненты для Юникода» . сайт.icu-project.org . Проверено 20 октября 2019 г.
  13. ^ Лаура Вернер (1999). «Готовим Java к мировому использованию: краткая история усилий IBM и Sun по интернационализации» . Архивировано из оригинала 17 ноября 2021 г. Проверено 23 мая 2007 г.
  14. ^ «Руководство пользователя отделения интенсивной терапии» . userguide.icu-project.org .
  15. ^ «Комитет по управлению проектами ICU» . Архивировано из оригинала 28 августа 2021 г. Проверено 17 августа 2012 г.
  16. ^ «ICU присоединяется к Консорциуму Unicode» . Юникод, Inc., 16 мая 2016 г. Проверено 1 августа 2016 г.
  17. ^ «Форматирование сообщений» . Руководство пользователя отделения интенсивной терапии .
  18. ^ «Boost.Locale: использование серверов локализации» . www.boost.org . Проверено 24 мая 2022 г.
  19. ^ «Boost.Locale: обоснование дизайна» . www.boost.org . Проверено 24 мая 2022 г.
  20. ^ «ICU против Boost Locale в C++» . Переполнение стека . Проверено 24 мая 2022 г.

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 415A214BAC8AB4697E3FDBC1C79C4D01__1713699840
URL1:https://en.wikipedia.org/wiki/International_Components_for_Unicode
Заголовок, (Title) документа по адресу, URL1:
International Components for Unicode - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)