在URL和Windows文件名(AIR)之间转换?

时间:2011-11-27 04:38:15

标签: android ios actionscript-3 url air

我正在尝试将图像保存到适用于智能手机的AIR应用中的磁盘上。 我需要一种方法,可以安全地将Web URL转换为Android和Android上的有效文件名。 iOS(如果它保留了Windows / Mac兼容性,它会很好。),我可以从文件名中找回原始的完整URL。例如:
输入是:
http://www.google.hu/search?client
编码格式就像(这只是我现在发现的一些例子):
HTTP%d%S%swww.google.com%TSEARCH%rclient%Z

我需要一种方法将其转换回来。 我查看了BASE64 - 但这允许使用“/”字符,而且我害怕使用HEX编码,因为这会生成超长的文件名,并且URL可能很长。
根据另一个问题,在iOS中,最大长度路径名是1024字节:max length of file name

任何人都有AIR的解决方案?基本上这与Convert between URL and windows filename (Java)?的问题相同 - 仅适用于AIR,iOS,Android。

或者我应该简单地修改BASE64编码器,并为长文件名做一些黑客攻击?

1 个答案:

答案 0 :(得分:1)

为什么不使用escape()和unescape(),它基本上用安全字符替换所有邪恶字符。类似于JavaScript的escape()函数。

编辑)我更正了,除了转义之外,您还需要替换斜杠和星号(/ *)以及任何其他无效字符,正如您所指出的那样。

出于好奇,为什么不用它中的url写一个单独的文本文件,并将其命名为与图像相同?甚至使用数据库?这样可以确保您永远不会获得大于最大文件名限制的疯狂长网址,并且您也不必担心转义/转换字符。