
【計】 normalized form
【計】 normalize; normalizing; standardization
【醫】 standardization
form; format; modality; shape
【法】 form
規格化形式(Normalization Form)在計算機科學與語言學中,特指Unicode标準中文本數據的标準化表示方式,旨在解決因字符編碼方式不同導緻的文本表示不一緻問題。其核心目标是通過特定規則轉換字符序列,确保文本在存儲、傳輸和比較時具有二進制一緻性,消除等價字符的編碼差異。以下是其主要分類及含義:
NFC(Normalization Form C - 合成形式)
将字符分解後再重新組合,優先使用預組合字符(如“é”而非“e + ´”)。適用于多數文本存儲和顯示場景,可減少數據體積并保持視覺完整性。
來源:Unicode Standard Annex #15 ↗
NFD(Normalization Form D - 分解形式)
将預組合字符完全拆解為基礎字符和獨立修飾符(如“é”分解為“e”和重音符)。便于字符級處理(如排序或搜索),但可能增加數據量。
來源:Unicode Consortium ↗
NFKC(Normalization Form KC - 兼容合成)
在NFC基礎上額外處理兼容字符(如全角字母轉為半角),適用于需要忽略格式差異的場景(如搜索引擎索引)。
來源:W3C Character Model規範 ↗
NFKD(Normalization Form KD - 兼容分解)
結合NFD的分解規則與NFKC的兼容性處理,用于深度文本分析(如語音處理或密碼學)。
來源:IETF RFC 7564 ↗
規格化形式通過統一文本表示解決以下問題:
來源:Microsoft Unicode規範文檔 ↗
未規格化字符串“café”可能有兩種編碼:
應用NFC後統一為形式1,NFD則統一為形式2。
來源:ICU(Unicode國際組件)文檔 ↗
規格化形式在不同領域有不同含義,主要分為計算機科學中的浮點數規格化和數據庫設計的規格化形式兩類:
在浮點數編碼中,規格化形式是為了确保尾數(有效數字部分)充分利用存儲空間,提高數值精度。核心規則是調整尾數和階碼,使尾數滿足特定範圍:
基本定義
規格化數要求尾數絕對值在$frac{1}{R}$到$1$之間($R$為基數)。例如,二進制($R=2$)時,尾數範圍應為$[0.5, 1)$,即最高位必須為1。
實現方法
示例
二進制數$0.0011 times 2$左規後變為$0.11 times 2$,保留了更多有效數字。
在數據庫設計中,規格化形式(Normal Form)用于消除數據冗餘,确保數據一緻性,主要分為:
第一範式(1NF)
要求每列屬性不可再分,所有字段值為原子值。
第二範式(2NF)
在滿足1NF基礎上,消除非主屬性對主鍵的部分依賴,将部分依賴數據拆分到新表。
第三範式(3NF)
在滿足2NF基礎上,消除非主屬性對主鍵的傳遞依賴。
如需進一步了解浮點數或數據庫規格化的具體操作步驟,可參考來源(浮點數)或(數據庫)。
傍邊的變形細胞産生的佛羅迪京成骨質癡愚的抽噎丁基尿烷動武二元酸的酰氯飛跑非溶劑核心初始化程式緩刑判決鹼度交叉模拟程式角頁岩接觸安排結結巴巴的靜電能可編程式邏輯陣列可調電容器籃式粗濾器粒度指數顱骨剪氯磺化聚乙烯美吐根人力資源疏螺體素甜菜大窖同餘數生成程式