Модифицированный Base64 (при замене /
, =
и +
) безопасен для создания имен, но не гарантирует обратного преобразования из-за нечувствительности к регистру многих файловых систем и URL-адресов.
Base64чувствителен к регистру, поэтому он не гарантирует отображение 1-к-1 в случаях нечувствительных к регистру файловых систем (все файловые системы Windows, игнорируя случаи подсистемы POSIX).Большинство URL-адресов также нечувствительны к регистру, предотвращая отображение 1-к-1.
В этом случае я бы использовал Base32 - вы получите имена немного длиннее, но значения в кодировке Base32 на 100% безопасны для использования файла / URI беззаменяет любые символы и гарантирует отображение 1-к-1 даже в случаях нечувствительной среды (доступ к FFS / Win32 NTFS).
К сожалению, в фреймворках обычно нет встроенной поддержки этой кодировки.С другой стороны, код относительно просто написать самостоятельно или найти в Интернете.
http://en.wikipedia.org/wiki/Base32.