Karakter apa yang mungkin digunakan untuk menggantikan titik dua dalam nama folder menggunakan waktu-hari?

9

Hal ini sering nyaman untuk file nama dan folder dengan tanggal dan waktu, seperti standar ISO 8601 Format: 2014-12-10T22:35:28.460Z.

Sayangnya, sistem file HFS + Mac menggunakan COLON sebagai pemisah path seperti halnya OS Unix seperti menggunakan SOLIDUS /(slash) dan Microsoft OS menggunakan REVERSE SOLIDUS \(backslash). Ketiga karakter harus dihindari ketika memberi nama file atau folder untuk kompatibilitas.

Karakter apa yang mungkin biasa digunakan sebagai pengganti COLON?

  • Menggunakan HYPHEN -membuatnya sulit untuk secara program membalikkan konversi ke format standar.
  • Demikian pula, menggunakan FULL STOP .(periode) membuat konversi terbalik menjadi sulit karena mereka akan disalahartikan sebagai detik pecahan.

Misalnya, ketika pemrograman di Java 8 pada OS X Mountain Lion, panggilan File::mkdir()untuk 2014-12-11T21:33:08hasil string dalam folder bernama 2014-12-11T21/33/08.

Basil Bourque
sumber
3
Hampir semua sistem file modern mendukung ruang dalam nama file. Juga, jika keterbacaan bukan masalah mengapa tidak hanya menghilangkan karakter yang menyinggung dan menggunakan format yang ditetapkan, mis .: YYYYMMDDTHHMMSSZ.
Brian Duke
Mengapa tidak menggunakan saja: tampaknya berfungsi dengan baik dari shell. Saya menduga hanya OS <= 9 dan klasik yang bermasalah: jadi saat ini menjadi masalah. AL: jadi MS OS dapat menggunakan / sebagai direktori split
user151019
@Mark Versi modern Finder dapat menangani titik dua. Tetapi selama akses terprogram, masalah terjadi.
Basil Bourque
Saya tidak pernah mengalami kesulitan mengakses file dengan titik dua di namanya. Itu hanya terlihat aneh dari Finder, karena dialihkan ke garis miring.
0942v8653
2
Secara khusus, HFS + memungkinkan nama file mengandung / tetapi bukan titik dua. Ketika di Terminal (atau di mana saja sistem file diakses menggunakan POSIX API dan bukannya Macintosh API), / dalam nama yang disimpan dalam disk diterjemahkan ke: dalam RAM, dan: dalam RAM diterjemahkan kembali ke / sebagai nama file baru disimpan dalam katalog. Program yang menggunakan API Macintosh tradisional tidak terpengaruh, dan lihat / persis seperti yang muncul di disk. Dengan cara ini, setiap API hanya memiliki satu karakter terlarang (yah, dua jika Anda menghitung NUL) dan hanya satu pemisah nama file, tanpa mengganggu satu sama lain.
ganbustein

Jawaban:

6

Variasi "Dasar" ISO 8601

Anda dapat menghindari penggunaan titik dua dengan menggunakan string format (dasar) ISO 8601 ( YYYYMMDDTHHMMSSZ) untuk memberi nama file dan folder. Standar memungkinkan pemisah dihilangkan dari YYYY-MM-DDTHH:MM:SSZformat.

Jadi kedua contoh ini valid di bawah standar:

2016-03-27T07: 01: 02Z

20160327T070102Z

Jika Anda perlu memproses string tersebut dengan bahasa pemrograman atau skrip tertentu, maka mungkin Anda harus mengonversinya ke format tambahan yang menyertakan pemisah (tanda hubung, titik dua) dan info zona waktu.

Notasi tanggal dan waktu standar internasional - "Jika tanggal dan nilai waktu disimpan bersama dalam bidang data tunggal, maka ISO 8601 menyarankan bahwa mereka harus dipisahkan dengan huruf kapital latin T, seperti pada 19951231T235959". Jadi Tdi tengah adalah opsional ( 19951231235959) tetapi disarankan.

Omar Vasquez
sumber
Solusi yang bagus Memang pustaka waktu-waktu yang lebih baik seperti kerangka java.time yang dibangun ke dalam Java 8 dan yang lebih baru serta Joda-Time tidak memiliki masalah dalam menguraikan baik format "dasar" atau format yang lebih panjang yang mengandung pemisah.
Basil Bourque
3

Tanda titik dua yang terangkat, Unicode 0x02F8 (tanda titik dua ˸ vs titik dua:) tidak akan diartikan sebagai pemisah oleh Finder atau skrip lainnya. (Info lebih lanjut tentang usus besar yang terangkat di sini: http://www.charbase.com/02f8-unicode-modifier-letter-raised-colon )

Cara memasukkan karakter itu bervariasi, tergantung pada versi OS X Anda. Rincian lebih lanjut dapat ditemukan di halaman dukungan Apple: http://support.apple.com/id-id/HT201586

Kent
sumber
3
Ide yang menarik. Jawaban ini hampir terlalu pintar. Terlihat sangat mirip dengan COLON biasa dapat menyebabkan kebingungan saat parsing.
Basil Bourque
0

Tanda baca Ibrani ׃ sangat cocok untuk saya ... unicode 05C3 ...

berbatu
sumber
2
hati-hati, bahwa usus besar Ibrani dapat benar-benar mengacaukan ketika berdekatan dengan angka! Coba ketikkan 1(Bahasa Ibrani) 2. Itu membuat mundur sebagai 2:1! Sesuatu dengan arah Ibrani dari kanan ke kiri. Bagaimanapun, itu akan sangat membingungkan jika mencoba menggunakan dengan bahasa kiri-ke-kanan.
wisbucky
Ya itu mungkin bukan alternatif yang bagus jika penyaji teks mencoba beralih ke mode RTL ketika mereka menemukan karakter ini :(
Matt M.
0

Saya sudah menyelidiki ini juga. Sebagian besar mesin terbang alternatif dengan kata 'usus' dalam deskripsi yang jelas tidak menarik sebagai pengganti usus ( ˸, ܄, , , :,, and꞉`).

Ada alternatif lain yang setidaknya memiliki lebar karakter yang mirip dengan usus asli - simbol matematika untuk rasio: . Ini terlihat hebat di sejumlah font monospace, tetapi sedikit kecil di font sistem MacOS standar.

Ini sedang digunakan dalam nama file:

/Users/me/Books/Book Title: Book Subtitle.pdf [glyph usus terbatas] /Users/me/Books/Book Title∶ Book Subtitle.pdf [glyph rasio yang diizinkan]

Robert
sumber