使用java进行文件名编码
我想写一个可逆编码器和相应的解码器,这样任何字符串都可以被编码成一个合法的文件名,对应于Unix文件系统的文件命名规则。 如何做到这一点? 例子:使用java进行文件名编码,java,unix,Java,Unix,我想写一个可逆编码器和相应的解码器,这样任何字符串都可以被编码成一个合法的文件名,对应于Unix文件系统的文件命名规则。 如何做到这一点? 例子: “xyz.txt”将是有效的文件名,而“xyz/.txt”则不是;dr:你的方法有缺陷。请遵守文件系统的限制。它们很难优雅地克服(特别是在不引入自己的、甚至更奇怪的限制的情况下) 这是不可能使一个是严格可解码的。您试图将一个较大的域映射到一个较小的域,这意味着无法正确地知道反向映射 这很容易用一个简单的例子来演示:如何对/进行编码以使其可以反转?“
“xyz.txt”将是有效的文件名,而“xyz/.txt”则不是;dr:你的方法有缺陷。请遵守文件系统的限制。它们很难优雅地克服(特别是在不引入自己的、甚至更奇怪的限制的情况下)
这是不可能使一个是严格可解码的。您试图将一个较大的域映射到一个较小的域,这意味着无法正确地知道反向映射 这很容易用一个简单的例子来演示:如何对
/
进行编码以使其可以反转?“很简单,”你可能会说,“我会用标记x
”来替换,但是现在你怎么知道x
什么时候是实际的x
,什么时候你的x
是一个“特殊的”x
,应该转换成//code>?你不能
当然,您可以创建一个不太可能发生任何意外冲突的系统。例如,与其将/
更改为-
(这很容易出错),不如将其更改为-
哦,而且,对于它的价值,大多数UNIX文件系统实际上都考虑除了<代码> /<代码>之外的任何字符或无效字符(无效字符)。显然,使用它是一件很痛苦的事