// 用于记录关联的 Statistics Canada 人口普查姓名编码
由 Statistics Canada 用于人口普查数据。
所有姓名统一为 4 位编码。
正确处理带重音符号的法语字符。
Statistics Canada 姓名编码算法用于人口普查数据和生命统计中的记录关联(record linkage)。它从姓氏(以及可选的名字)生成一个 4 位编码。算法会取姓氏的首字母,加上后续两位辅音(元音和字母 Y 会被移除)。如果姓氏提供的有效字符不足 3 个,则使用名字的首字母补足。算法在处理前会把带重音的法语字符转换为基础拉丁字母。
算法步骤: 1. 姓氏的第一个字母 2. 姓氏中接下来的 2 个辅音 3. 如有需要,加入名字首字母 4. 用空格填充至 4 个字符 示例: SMITH → SMTH S + M + T + H MacDONALD → MCDL M + C + D + (N L) Tremblay, Marie → TRMB T + R + M + B Lee, David → LEED L +(无更多辅音)+ D 法语处理: Côté → COTE → CT Lépine → LEPINE → LPN 短姓名: Lo → LO (补位) Kim, Su → KMS
Statistics Canada 姓名编码是加拿大政府在人口普查和生命统计数据中用于记录关联的算法。它从姓名生成标准化的 4 位编码,便于在不同数据库之间匹配记录。
算法会在处理前,将带重音符号的法语字符(如 é、è、ê、ç 等)自动转换为基础形式(e、c 等),从而确保无论原始数据是否带重音,编码结果都保持一致。
只有当姓氏不足以提供生成编码所需的字符时才会使用名字。如果去掉元音后,姓氏中剩余的有效字符少于 3 个,就会把名字的首字母加入编码。
与 Soundex、Metaphone 等拼音算法不同,Statistics Canada 姓名编码并不是严格的音近算法,而是一个以稳定性和易实现为目标的字符提取算法,特别适合加拿大的姓名模式和政府系统中的批量处理。