我正在一个有大量 (PDF) 下载的网站上工作。我需要想出一个命名这些文件的策略。
所以以下是我的主要标准:
- 文件名需要在所有操作系统上都是合法的。
- 文件名需要是 URL 安全的。
- 文件名需要尽可能可读。
我已经阅读了很多关于这个主题的文章,并阅读了许多关于哪些角色可以使用和不能使用以及哪些策略最好的相互矛盾的意见。
适用于命名文件的最佳规则集是什么,以便它们满足我上面的三个标准。
我正在使用 Rails 3 进行记录。
我正在一个有大量 (PDF) 下载的网站上工作。我需要想出一个命名这些文件的策略。
所以以下是我的主要标准:
我已经阅读了很多关于这个主题的文章,并阅读了许多关于哪些角色可以使用和不能使用以及哪些策略最好的相互矛盾的意见。
适用于命名文件的最佳规则集是什么,以便它们满足我上面的三个标准。
我正在使用 Rails 3 进行记录。
我相信几乎任何 ASCII 字符都可以在 URL 中转义(即%20
空格)。
Windows中不允许的字符是\/:*?"<>|
(根据Windows),并且您不能在同一目录中具有相同名称但在不同情况下的文件(即FILE.txt
并file.txt
分类为相同名称)。Linux 和 Mac 相当允许。所有操作系统还是那些?还有很多鲜为人知的操作系统,但它们通常不用于通用用途。
因此,从技术上讲,您可以将其限制为 ASCII 表中的空格 (0x20) 到~
(0x7E) :(Windows 不允许使用的除外)
但就可读性而言,如果您不想转义 URL,将其限制为 0-9、AZ 和 az 可能是最简单的,并且使用某种分隔符(如_
)总是很不错的。
我找到了这张表,它应该可以让您很好地了解 URL 需要转义的内容:
Char Escape Code
SPACE %20
< %3C
> %3E
# %23
% %25
{ %7B
} %7D
| %7C
\ %5C
^ %5E
~ %7E
[ %5B
] %5D
` %60
; %3B
/ %2F
? %3F
: %3A
@ %40
= %3D
& %26
$ %24