日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

国际化组件 Unicode (ICU) 函数库

發布時間:2023/12/4 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 国际化组件 Unicode (ICU) 函数库 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ICU (International Components for Unicode)是為軟件應用提供Unicode和全球化支持的一套成熟、廣泛使用的C/C++、Java和.NET 類庫集,可在所有平臺的C/C++、Java和C# 軟件上獲得一致的結果,用于支持軟件國際化的開源項目, 軟件開發者幾乎可以使用ICU 解決任何國際化的問題,根據各地的風俗和語言習慣,實現對數字、貨幣、時間、日期、和消息的格式化、解析,對字符串進行大小寫轉換、整理、搜索和排序等功能。ICU的主頁是http://www.icu-project.org/

ICU首先是由Taligent公司開發的,Taligent公司被合并為IBM公司全球化認證中心的Unicode研究組后,ICU由IBM和開源組織合作繼續開發。開始ICU只有Java平臺的版本,后來這個平臺下的ICU類被吸納入SUN公司開發的JDK1.1,并在JDK以后的版本中不斷改進。C++和C平臺下的ICU是由JAVA平臺下的ICU移植過來的,移植過的版本被稱為ICU4C,來支持這C/C++兩個平臺下的國際化應用。ICU4J和ICU4C區別不大,但由于ICU4C是開源的,并且緊密跟進Unicode標準,ICU4C支持的Unicode標準總是最新的;同時,因為JAVA平臺的ICU4J的發布需要和JDK綁定,ICU4C支持Unicode標準改變的速度要比ICU4J快的多。在Linux 操作系統上,.NET Core 使用ICU的全球化API, 從 .NET 5.0 開始,如果應用在 Windows 10 2019 年 5 月更新或更高版本上運行,.NET 庫將使用 ICU 全球化 API。.NET 5 統一使用ICU, 引入此更改的原因有兩個:

  • 應用跨平臺(包括 Linux、macOS 和 Windows)具有相同的全球化行為。

  • 應用可以通過使用自定義 ICU 庫來控制全球化行為。

ICU的功能主要有:

  • 代碼頁轉換: 對文本數據進行Unicode、幾乎任何其他字符集或編碼的相互轉換。ICU的轉化表基于IBM過去幾十年收集的字符集數據,在世界各地都是最完整的。

  • 排序規則(Collation): 根據特定語言、區域或國家的管理和標準比較字數串。ICU的排序規則基于Unicode排序規則算法加上來自公共區域性數據倉庫(Common locale data repository)的區域特定比較規則。

  • 格式化: 根據所選區域設置的慣例,實現對數字、貨幣、時間、日期、和利率的格式化。包括將月和日名稱轉換成所選語言、選擇適當縮寫、正確對字段進行排序等。這些數據也取自公共區域性數據倉庫。

  • 時間計算: 在傳統格里歷基礎上提供多種歷法。提供一整套時區計算API。

  • Unicode支持: ICU緊密跟進Unicode標準,通過它可以很容易地訪問Unicode標準制定的很多Unicode字符屬性、Unicode規范化、大小寫轉換和其他基礎操作。

  • 正則表達式: ICU的正則表達式全面支持Unicode并且性能極具競爭力。

  • Bidi: 支持不同文字書寫順序混合文字(例如從左到右書寫的英語,或者從右到左書寫的阿拉伯文和希伯來文)的處理。

  • 文本邊界: 在一段文本內定位詞、句或段落位置、或標識最適合顯示文本的自動換行位置。

參考:

  • https://docs.microsoft.com/zh-cn/dotnet/core/compatibility/globalization

總結

以上是生活随笔為你收集整理的国际化组件 Unicode (ICU) 函数库的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。