
【计】 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基础上,消除非主属性对主键的传递依赖。
如需进一步了解浮点数或数据库规格化的具体操作步骤,可参考来源(浮点数)或(数据库)。
白灰制菌素半孢子菌变色酸除鲠器刺桐属醋酸异永片酯第九脑神经定额授与飞行模拟装置非号控机键封闭数组弗朗鼠李流浸膏锆酸钛酸铅枸环戊酯圭博尔氏图辊筒压碎机海关派出所行政管理区假空泡交往净铁水进货折扣宽待收回债款执行令明觉的排斥任选聘礼茜酚橙神秘化收尾语通代算法