返回 内核恐慌在 内核恐慌 中提及的产品。
49. Kerning Panic·字谈字串(六)Emoji(再次)拯救世界
2018年1月9日 · 1:32:11
本期《内核恐慌》与《字谈字串》串台节目深入探讨了Emoji背后的 Unicode 技术细节。主持人吴涛、Rio 与嘉宾 Eric 从 UTF-16 的历史遗留问题讲起,解释了代理对(surrogate pair)如何使 UCS-2 扩展为变长编码,以及 Emoji 因位于基本多文种平面之外而迫使旧系统完善支持。随后分析了彩色字体的多种实现——Apple 的 sbix(内嵌 PNG)、Google 的 CBDT/CBLC、Microsoft 的 COLR/CPAL 以及 Adobe/Firefox 的 SVG 方案。节目还介绍了文本与 Emoji 形态的切换机制:语言标签(Zsye/Zsym)、区域扩展(-em)和变体序列(VS15/VS16),并展示了组合序列(如键帽)、修饰序列(肤色)和旗帜序列(国家代码组合)如何通过多个码位合成一个可见 Emoji。最后讨论了字位簇(grapheme cluster)的定义与删除行为,并提及 Twitter 字符计数规则(Emoji 计为2字符、URL 固定长度)背后的权衡。
14. 类型系统
2015年4月4日 · 2:27:37
本期《内核恐慌》深入探讨编程语言中的类型系统,吴涛和Rio解释了它的核心作用:在计算机纯数字世界与人类思维之间建立映射,帮助程序员组织数据并避免错误。但他们也通过千年虫、2038问题和IEEE 754浮点数精度缺陷等具体案例,展示了类型系统引入的常见陷阱。节目区分了强类型与弱类型(如Haskell的严格 vs JavaScript的自动转换)、静态与动态类型(如C++的编译期剥离类型信息 vs Python的运行时类型推断),并讨论了用户自定义类型与系统原生类型的区别。他们还批评了JavaScript因弱类型导致的诡异行为,并比较了不同语言在类型转换上的设计哲学(如Perl使用点号拼接字符串以避免歧义)。最后,他们指出类型系统的选择深刻影响编程思维,并建议教育应从实用出发而非先灌输底层细节。