Разделитель метаданных в имени файла Windows - PullRequest
2 голосов
/ 23 июля 2010

Я работаю над обслуживанием приложения, которое передает файл в другую систему и использует структурированное имя файла для включения метаданных, включая код языка. Текущее приложение использует двухсимвольный код языка и тире / дефис для разделителя.

Ex. Канада-EN-ProdName-ProdCode.txt

Я конвертирую его для использования кода языка IETF, поэтому разделитель тире не подходит и не нуждается в замене. Я пытаюсь определить разделитель, чтобы избежать ошибок в будущем, и я рассматриваю тильду ~.

Ex. Канада ~ ан-ГБ ~ ProdName ~ ProdCode.txt

Это будет использоваться только в системах Windows Sever 2003 +. Я конечно не придумал эту систему парсинга имени файла для получения метаданных. К сожалению, я не могу включить это в сам файл, и система назначения ожидает, что код языка будет в формате IETF с чертой.

Есть мысли о возможных проблемах с использованием тильды в имени файла или, возможно, лучшего персонажа для использования? Я просто ищу второе мнение на случай, если пропущу возможную неудачу. Я полагаю, что windows будет использовать тильду при сокращении длинного имени файла до формата 8.3, но я не вижу в этом проблемы, поскольку ОС могут обрабатывать имена файлов lang.

1 Ответ

3 голосов
/ 23 июля 2010

Тильда, вероятно, в порядке, но что не так со старым добрым подчеркиванием _?Он не имеет особого значения ни для Windows, ни для Unix, и делает имена, которые относительно легко читаются.Если нет других особых соображений, я бы избежал тильды исключительно из паранойи, поскольку windows, как вы упоминали, иногда использует его как специальный символ

...