
许多 Hackaday 读者可能都知道 UTF-8,这是一种用于合并各种字母和其他字符的机制,例如表情符号。它采用历史悠久的 7 位 ASCII 字符集,并将其扩展为多个字节,以表示数千个字符。它是如何做到这一点的,可能远远超出了人们的基本理解范围,而 [Vishnu] 则带来了一本引人入胜且通俗易懂的入门指南。
UTF-8 将 ASCII 编码从单字节扩展到最多四字节。其关键在于每个字节的前几位,它们指定每个字符的字节数,并指明该字符为数据字节。由于 7 位 ASCII 码映射到 8 位字节时,其最高有效位始终为 0,因此前 128 个字符始终以零位开头,从而确保了与 ASCII 的兼容性。UTF-8 简洁、优雅,对于在 UTF-8 出现之前曾饱受字符集之苦的人来说,简直就是魔法。
过去,我们很少谈论 UTF-8 的内部结构,但值得注意的是,这是我们第二次使用流行表情符号,之前我们已经报道了第 10 亿个 GitHub 存储库。
表情符号包:Tony Hisgett, CC BY 2.0 。