國際統一碼部件
維基百科,自由的 encyclopedia
國際統一碼部件(英語:International Components for Unicode,縮寫:ICU,中文譯名根據聯盟官方譯名[1])是成熟的C / C++和Java庫的開源項目的函式庫,用於支援統一碼 、軟件國際化和軟件全球化。 ICU 可廣泛移植到許多作業系統和環境中。對於不同平台上,以及在 C、C++ 和 Java 軟件的應用程式,它可以提供相同的結果。IBM和許多其他公司贊助、支援和使用它。 [2]ICU 項目也已成為統一碼聯盟技術委員。
此條目可參照英語維基百科相應條目來擴充。 (2023年1月) |
ICU 提供以下服務: 統一碼文字處理、完整字元屬性和字元集轉換; 統一碼正則表達式;完整的統一碼集;字元、單詞和行邊界;基於語言的定序和搜尋;規範化、大小寫轉換和指令碼音譯;通過通用當地數據儲存庫(CLDR)提供全面的語言環境數據和資源包架構;多種日曆和時區;以及基於規則的日期、時間、數字、貨幣和訊息的格式化和解析。 ICU過去曾為阿拉伯語、希伯來語、印度語和泰語提供複雜文字編排服務,但在第 54 版中已棄用,並在第 58 版中完全刪除,取而代之的是HarfBuzz 。 [3]
ICU 提供比 C 和 C++ 標準庫更廣泛的國際化設施。 ICU 67 支援Unicode 13.0並處理英國脫歐的問題。 ICU 64 支援Unicode 12.0 ,而 ICU 64.2 增加了對 Unicode 12.1 的支援,即當前日本令和時代的單一新符號(但對它的支援也已向後移植到 ICU 4.8.2 的舊 ICU 版本)。 ICU 58(支援 Unicode 9.0)是支援舊平台(如Windows XP 、 Windows Vista )的最後一個版本。對AIX 、 Solaris和z/OS的支援在更高版本中也可能受到限制(即構建取決於編譯器支援)。 [4]自Windows 10版本 1703 起,ICU 已作為標準組件包含在Microsoft Windows中[5]。
ICU 過去一直使用UTF-16 ,但只有用於 Java;而 C/C++ 使用 UTF-8 [6],包括正確處理「非法 UTF-8」。 [7]