在 Linux 中使用完整的 ascii 表来命名文件

在 Linux 中使用完整的 ascii 表来命名文件

在 Windows 操作系统中,我可以通过数字键盘输入字符的十进制代码来在文件名中使用不常见的字符。这样,即使字符没有对应的键盘键,我也可以访问字符集中的所有字符。

有没有办法使用 Linux 做类似的事情?

答案1

这可能不是理想的解决方案,但您可以简单地使用 printf 来嵌入字符。例如,要创建一个名为“A”(八进制 101)的文件,您可以执行以下操作:

$ touch“$(printf'\101')”

答案2

ASCII 仅涵盖一组特定的字符,从 ASCII 0 到 ASCII 127。127 以上的数字存在严重冲突,具体取决于使用了哪种非 ASCII 扩展。

如今,为了实现最大可移植性,通常采用的“最佳”解决方案是 Unicode 编码之一。有很多种,但 UTF-8 非常流行。当我说有很多种 Unicode 编码时,请注意,与不同的字符集不同,所有 Unicode 编码都对相同的字符进行编码,只是使用不同的位数。如果您的内容主要是 ASCII,UTF-8 会尝试节省大量磁盘空间/内存。

在 Linux 中,Gnome 提供了一个名为 的“字符选择器”应用程序gnome-character-map,它允许您查找字体中所有 Unicode 字符的所有字形。请注意,虽然可以写入 Unicode 字符,但根据您使用的字体,字体中可能没有嵌入字形(或符号)来显示该 Unicode 字符。当您没有东西来显示特定字符​​时,有时会在不可用的字形位置绘制一个正方形。

当我需要做一些特殊的事情时,我通常会从字符映射表中剪切和粘贴字符;但是,有一个序列可以直接输入字符(类似于 Windows)。按 Shift-Control 键,然后输入十六进制字符值(如果需要,您可以在字符映射表中查找)。

相关内容