Які символи можуть бути використані для заміни двокрапки в назвах папок за допомогою часу часу?


9

Часто буває зручно називати файлів і папок з зазначенням дати і часу, наприклад , як стандарт ISO 8601 формат: 2014-12-10T22:35:28.460Z.

На жаль, файлова система HFS + Mac використовує COLON як роздільник шляхів так само, як у Unix-подібних ОС використовуються SOLIDUS /(косою рискою), а Microsoft OS використовує REVERSE SOLIDUS \(зворотний косий ривок ). Усі три символи слід уникати при іменуванні файлу чи папки для сумісності.

Який символ може використовуватися як заміна COLON?

  • Використання HYPHEN -ускладнює програмування перетворення в стандартний формат.
  • Аналогічно, використання FULL STOP .(періоду) ускладнює зворотне перетворення, оскільки вони будуть неправильно трактуватися як дробові секунди.

Наприклад, при програмуванні в Java 8 на OS X Mountain Lion, виклик File::mkdir()рядкових 2014-12-11T21:33:08результатів у папці з назвою 2014-12-11T21/33/08.


3
Практично всі сучасні файлові системи підтримують пробіли у назвах файлів. Крім того, якщо читабельність не викликає занепокоєння, чому б просто не усунути символів, які порушують правопорушення, і використовувати встановлений формат, наприклад: YYYYYMMDDTHHMMSSZ.
Брайан Герцог

Чому б не просто скористатись: це, здається, добре працює з оболонки. Я підозрюю, що тільки ОС <= 9, а у класичних є проблема: так що сьогодні це проблема. AL: значить MS OS можуть використовувати / як розділити каталог
user151019

@Mark Сучасні версії Finder можуть працювати з двокрапкою. Але під час програмного доступу виникають проблеми.
Василь Бурк

У мене ніколи не було проблем із доступом до файлу з двокрапкою в імені. Це просто дивно виглядає від Finder, оскільки він перейшов на косу рису.
0942v8653

2
Зокрема, HFS + дозволяє назви файлів містити / не містити двокрапки. Коли в терміналі (або будь-де до файлової системи можна отримати доступ за допомогою API POSIX замість API Macintosh), / в імені, збереженому на диску, перекладається на: в оперативну пам'ять, а: в оперативну пам'ять переводиться назад в / як нове ім'я файлу зберігається в каталозі. Програми, що використовують традиційний API Macintosh, не впливають, і дивіться / так, як це відображається на диску. Таким чином, кожен API має лише один заборонений символ (ну, два, якщо рахувати NUL) і лише один роздільник імен файлів, не заважаючи один одному.
ganbustein

Відповіді:


6

Варіант ISO 8601 "Basic"

Ви можете уникнути використання товстої кишки, використовуючи рядки "базового" ISO 8601 ( YYYYMMDDTHHMMSSZ) для іменування файлів і папок. Стандарт дозволяє пропускати роздільники з YYYY-MM-DDTHH:MM:SSZформату.

Отже обидва ці приклади дійсні згідно стандарту:

2016-03-27T07: 01: 02Z

20160327T070102Z

Якщо вам потрібно обробити ці рядки з певними мовами програмування або сценаріїв, можливо, вам доведеться перетворити їх у розширений формат, який містить роздільники (дефіси, колонки) та інформацію про часовий пояс.

Міжнародне стандартне позначення дати та часу - "Якщо дата та значення часу зберігаються разом у одному полі даних, то ISO 8601 пропонує їх розділити латинською великою літерою T, як у 19951231T235959". Отже, Tпосередині необов’язково ( 19951231235959), але пропонується.


Гарне рішення. Дійсно, кращі бібліотеки дати, такі як рамка java.time, вбудована в Java 8 і пізніші версії, а також Joda-Time , не мають проблем з розбором ні "базового" формату, ні довшого формату, що містить роздільники.
Василь Бурк

3

Піднята двокрапка, Unicode 0x02F8 (піднята двокрапка ˸ проти двокрапки:) не буде інтерпретуватися Finder або іншими сценаріями як роздільник. (Більше інформації про підняту кишку тут: http://www.charbase.com/02f8-unicode-modifier-letter-raised-colon )

Спосіб введення цього символу залежить від вашої версії OS X. Більш детальну інформацію можна знайти на сторінці підтримки Apple: http://support.apple.com/en-us/HT201586


3
Цікава ідея. Ця відповідь майже занадто розумна. Настільки схожий на звичайний COLON може викликати заплутаність під час розбору.
Василь Бурк

0

Єврейська пунктуація ׃ чудово підходить для мене ... unicode 05C3 ...


2
слідкуйте за тим, що єврейська кишка дійсно може зіпсувати речі, коли поруч з номерами! Спробуйте ввести текст 1(єврейська кишка) 2. Це відтворюється як назад 2:1! Щось із івритом вправо-вліво. У будь-якому разі, це буде надзвичайно заплутано, якщо намагатися використовувати з мовами зліва направо.
Вісбукі

Так, це, мабуть, не є чудовою альтернативою, якщо текстові рендері намагаються перейти в режим RTL, коли вони стикаються з цим персонажем :(
Matt M.

0

Я це також досліджував. Більшість альтернативних гліфів зі словом «двокрапка» в описі рішуче непривабливе в якості заміни товстої кишки ( ˸, ܄, , , :,, and꞉`).

Існує ще одна альтернатива, по крайней мере , має аналогічну ширину символів у вихідній товстої кишки - математичний символ для співвідношення: . Він чудово виглядає у ряді односхилих шрифтів, але він є невеликим у шрифті системи MacOS за замовчуванням.

Тут він використовується у назві файлу:

/Users/me/Books/Book Title: Book Subtitle.pdf [обмежений глиф товстої кишки] /Users/me/Books/Book Title∶ Book Subtitle.pdf [дозволений співвідношення гліф]

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.