返回 内核恐慌内核恐慌 中关于 字符编码 的单集。
58. Kerning Panic·字谈字串(九)名名之中
2020年5月25日 · 2:14:47
本期《内核恐慌》与《字谈字串》串台,聚焦数字空间中的命名规范:从文件名的技术限制(DOS的8.3规则、Windows保留字如COM1、LPT1)到编程标识符的大小写风格(驼峰、蛇形、烤肉串),再到URL和hashtag的字符编码问题。嘉宾Eric和钱蒸鱼回溯了文件扩展名源于CP/M的历史,对比了Mac资源分支与Windows扩展名的哲学差异;讨论了空格、反斜杠、冒号等特殊字符在跨平台时的转义困境,以及日文Windows中反斜杠被日元符号替代的往事。还分析了大小写敏感性与保留性的权衡——现代系统多采用大小写不敏感但保留大小写的方案,而编程语言标识符则严格区分大小写。Unicode带来的复合字符和emoji命名进一步增加了复杂性,导致系统安全漏洞和兼容性难题。
55. Kerning Panic·字谈字串(八)人造千年虫
2019年5月14日 · 1:55:57
本期《内核恐慌》与《字谈字串》串台,讨论日本改元‘令和’引发的计算机软件日期处理与字体排印问题,指出这是新的人造千年虫。节目回顾了2000年千年虫的教训,但日本许多旧系统仍用两位数表示昭和年号,导致2025年面临昭和100年溢出。Excel的1900与1904日期系统差异造成跨平台混乱;Unicode 12.1为令和合字预留码位U+32FF,但实际使用率低,且字体厂商需同时设计横排和竖排字形。日本银行ATM曾因年号切换错误显示为1989年;驾照有效期写平成35年(本不存在),迫使官方后加西历注释。节目还探讨了日本排版的讲究,如数字有全宽、半宽、三分、四分等多套变体,以及竖排中数字需‘纵中横’排列等细节。
48. Kerning Panic·字谈字串(五)规范化有四样形式,你知道么?
2017年7月25日 · 2:09:04
本期节目深入探讨了Unicode规范化(Normalization)的四种形式:NFC、NFD、NFKC和NFKD,解释了它们在编码、存储和搜索中的不同用途。主讲人Eric(Speaker 1)指出,Unicode中同一字符可能有多种码位组合,规范化确保字符串等价性,但不同系统(如Windows使用NFC,macOS的HFS+使用NFD)会导致文件交换时出现乱码或字符拆分问题。吴涛和Rio补充了APFS文件系统对规范化不敏感的设计变化,以及它对开发者API选择的影响。节目还延伸到国际化域名(IDN)的伪码攻击风险、emoji域名安全漏洞,以及字体的合字(ligature)在搜索中的障碍。最后,听众反馈环节解答了中西文混排的行高对齐问题。整个讨论强调Unicode规范化的技术复杂性及其在实际应用中的坑。
46. Kerning Panic·字谈字串(四)峰回路转换行来↵
2017年4月4日 · 1:41:36
本期《内核恐慌》与《自弹自唱》串台,主题聚焦计算机换行符(carriage return, line feed, CRLF)的历史与差异。节目从打字机时代讲起,解释回车(CR)是让字车回到行首,换行(LF)是向下移动一行,两者本为独立动作。现代系统中,Unix/Linux使用LF换行,Windows使用CR+LF,经典Mac OS使用CR,而OS X之后改用LF。主持人还探讨了软回车(强制换行)与硬回车(段落结束)在排版中的区别,以及Notepad等编辑器对换行符处理的奇葩行为。此外,节目延续了上一期关于Emoji的讨论,涉及Unicode规范、平台差异及文化视角,并穿插了Git换行符配置、FTP传输模式等程序员日常话题。
42. Kerning Panic·字谈字串(二)
2016年7月26日 · 2:02:57
本期《内核恐慌》聚焦字符编码发展史,从日本JIS 0201开始,经中国GB2312、GBK到GB18030,再深入Unicode。两位主播拆解了区位码(94×94矩阵)、CJK统一表意文字、基本多语言平面(BMP)及UTF-8/16/32编码。他们剖析了乱码的成因——包括端序内战、BOM标记和编码不兼容——并批评了Windows记事本的混乱选项。节目还涉及韩文KS编码中的汉字重复、新加坡简体的演变,以及emoji编码的争议(如悬浮男士U+1F574)。最终强调UTF-8是最佳实践。
39. Kerning Panic · 字谈字串(一)
2016年5月16日 · 2:10:56
本期《字谈字串》由《内核恐慌》与《字谈字畅》联合推出,主题是从用户敲击键盘到屏幕上显示文字的完整流程。节目详细介绍了三大主流键盘布局(ANSI、ISO、JIS)的差异,以及日语键盘中假名输入和编码的历史遗留问题,如日元符号替代反斜杠。随后深入字符编码层面,从ASCII扩展到各国家和地区标准(GB、Big5、JIS等),最后统一到Unicode,并解释了CJK统一汉字的认同原则带来的异体字问题。字体技术方面,讨论了点阵与矢量字体的区别、Hinting(渲染提示)在Windows和macOS上的不同哲学——Windows追求清晰而牺牲字形,macOS保留设计原形,以及ClearType和Anti-aliasing的实现。节目还涉及输入法词频调整、emoji与颜文字的区别、TrueType与OpenType的贝塞尔曲线差异,以及全角/半角概念的历史渊源。最终指出,一个简单的打字动作背后是层层历史债务和技术妥协。
19. 测试
2015年6月15日 · 2:33:32
本期节目中,吴涛和Rio首先讨论了HHKB键盘的使用体验与版本差异,Rio分享了从键盘布局到适应过程的感受。随后,两人读了两封听众来信:一封关于编程学习与恋爱关系的反思,另一封涉及文字编码历史,包括ASCII、Unicode、ISO/2022等标准,并吐槽了Windows的宽字节API。接着,他们简评WWDC,重点谈了Apple Watch的实用性与Swift 2开源的意义。最后进入本期主题“软件测试”,从瀑布模型与敏捷开发的对比切入,深入探讨了TDD(测试驱动开发)的三原则、BDD(行为驱动开发)与Cucumber工具、单元测试框架XUnit家族及Python的doctest,并讨论函数式编程对测试的友好性。两人对TDD持批判态度,认为其压抑创造力,但承认其在大型项目中的必要性。
18. 编码
2015年5月31日 · 58:43
本期《内核恐慌》由吴涛独自主持,围绕计算机编码的核心概念展开,从机器语言、汇编到高级语言的演进,再到ASCII、Unicode等字符编码标准,解释了二进制如何表示文字、图像和声音。节目还包含丰富的读者反馈:一位听众回忆删除DLL导致系统崩溃的经历;另一位从力学角度比较机械键盘和薄膜键盘的压力曲线,指出机械键盘长时间使用可能更费力;还有听众推荐Data Science领域的资源和播客《Talking Machines》。结尾吴涛以幽默方式讨论“程序员如何找女朋友”,强调理解人际沟通的“编码”比技术知识更重要。