我应该如何解释 Unicode 代码点在两个不同的终端模拟器中以两种完全不同的方式显示这一事实?

我应该如何解释 Unicode 代码点在两个不同的终端模拟器中以两种完全不同的方式显示这一事实?

这是一种衍生品我问的一个较旧的问题

这是该问题的屏幕截图: 在此输入图像描述

  • 左下角是URxvt,您可以在提示符的开头看到一个类似闪电的图标,那就是"\ue00a"
  • 右下角是xfce-terminal来自Xfce,您可以看到它"\ue00a"以非常不同的方式呈现相同的 Unicode 点!

我的印象是,当我读到"\ue00a""\u263b""\u1d43d"等内容时,我很可能会查看 Unicode 定义的符号的标识。

然而,这个定义需要多奇怪才能允许两个终端模拟器以如此不同的方式显示它?

顺便说一句,我不知道这有多少是由于终端造成的,有多少是由于字体造成的。

我问这个问题(就像我链接的其他问题一样)是为了更好地理解整个问题。

答案1

U+E000 至 U+F8FF是一个私人使用区域。它被保留以允许系统存储和显示 Unicode 中不存在的字符。因此,您不能期望它具有一致的外观(或者确实显示为除空白或空格之外的任何内容)替换字符)。

如果你想要 Unicode 中类似灯光的字符,你可以尝试在形状捕手(但它不知道所有的 Unicode,尤其是 Emoji),或者搜索Unicode 字符名称。我找不到与您的屏幕截图中的完全相同的闪电角色,但有 U+26A1 高压标志 (⚡) 和 U+1F5F2 闪电情绪 (

相关内容