|
|
1
35
修改的Base64(当
在这种情况下,我将使用Base32—您将获得更长的名称,但是Base32编码的值对于文件/uri的使用是100%安全的,而不替换任何字符,并且即使在不敏感的环境(FAT/Win32 NTFS访问)中也能保证1到1的映射。 不幸的是,框架中通常没有对这种编码的内置支持。另一方面,代码相对简单,可以自己编写或在线查找。 |
|
2
11
我不知道你用这个编码是为了什么,但是考虑一下 percent encoding 文件名。
|
|
|
3
10
RFC 3548
建议不仅替换
但也许你最好用十六进制字符串。有段时间了,我在文件名中存储了一个散列值。我开始使用Base64字符串,但后来改为十六进制字符串。我不记得我为什么要换了,也许是因为AndiDog说Windows对a和a没有区别。 |
|
|
4
3
通常MD5散列(通常是散列)表示为十六进制字符串,而不是Base64,后者只包含[a-f0-9]。所有文件系统都支持这些名称。 如果您真的想使用Base64,那么您的解决方案(替换斜杠)将无法正常工作,因为Windows文件系统在“a”和“a”之间没有区别。也许你想改用Base32?但请注意,Base32是4的8位,所以采用十六进制表示会更容易。 通常,Windows和/或Linux中不允许使用以下字符:\/:*?“<gt| |
|
|
5
3
一行C#:
文件开头需要以下内容:
|
|
|
6
1
all commonly used file systems 一般使用就可以了。 不区分大小写 ,与Windows上的情况一样,您可以获得冲突,因为Base64字母表同时包含大写和小写。 您可能需要考虑改用MD5哈希的十六进制表示,因为这是一种将它们表示为字符串的相当标准的方法。 |
|
|
user29759326 · 如何返回递归函数中的最后一个值? 1 年前 |
|
|
malife89 · 将java中的字符串读取为正确的日期格式 1 年前 |
|
|
Tim · 在java中,有没有更快的方法将字节数组写入文件? 1 年前 |
|
|
rudraraj · java中未声明最终变量 1 年前 |
|
|
Bala Ji · 以下BFS的实施效率如何? 1 年前 |