Windows 文件名中的神秘方块:UTF-16 代理对的奇遇
2025-02-26
本文讲述了Windows系统中一个奇特的现象:任务管理器中出现许多名称包含奇怪方块的小型可执行文件。这些文件并非恶意程序,而是由于文件名使用了UTF-16代理对造成的显示问题。UTF-16为了兼容扩展的Unicode字符集,使用了代理对来表示超出基本多语言平面的字符。当字符串处理产生孤立或格式错误的代理对时,就会导致文件名无法显示。文章解释了代理对的概念,并提供了一个Python脚本,可以生成包含不可渲染文件名的文件,从而重现这一现象。
开发
代理对