Ответ 1
Как строка, которую вы передаете для открытия, сопоставляется с именем файла
зависит от реализации. В среде Unix она передается
почти буквально, обрабатываются только '/'
и '\0'
специально. В других средах действуют другие правила, и я
были проблемы в прошлом, потому что я написал файл в Unix, и
ничего не мог с этим сделать под Windows (который относится к ':'
в имени файла).
Другой вопрос, откуда берутся эти файлы. Как упоминалось
выше, не может быть абсолютно никакого способа открыть их на вашем
system: имя файла с ':'
просто не может быть открыто в
Окна. В Unix, если вы закончите с символами '\0'
в
filename, вы, вероятно, тоже не можете их прочитать, а UTF16
имена файлов будут иметь '\0'
символы в них под
Unix. Вы можете только использовать собственные инструменты на
система, которая сгенерировала файлы для их переименования.
Мне стало менее ясно, как вы можете получить такие имена файлов в Unix диска в первую очередь. Как сервер SMB, такой как Samba отобразить имена файлов UTF16, когда он служит в окне Windows? Или Сервер NFS. Я думаю, что такие вещи также существуют под Windows.