Пусть я описательный имя файла с некоторыми согласовала именования, например:Что такое хороший способ сжать имена файлов?
typ_blue_sz_00215416_st_00001_end_00138_p1_ht_p2_w_p3_wt_ts_20160707130232.h5
В этом (составлен) пример, файл представляет собой файл HDF5 данных, а также имя файла ограничено комбинацией подчеркивания и ключевые слова. Ключевые слова здесь typ
для «типа,» sz
для «размера» st
для «запуска» end
, p1
- p3
для «параметра от 1 до 3» и ts
обозначает «метку времени.» Именование файла таким образом упрощает как программный синтаксический анализ, так и человеческую читабельность ... но по мере увеличения количества метаданных, которое требуется передать, имя файла приближается к пределу ОС (256 в случае Windows).
Нам нужен способ существенно сократить эти имена файлов. Мы все согласны с тем, что мы не хотим зависеть от чтения этих метаданных из файла ... мы хотим его в имени файла. Тем не менее, мы готовы идти на компромисс по человеческой читаемости, пока остается простой программный синтаксический анализ.
Одним из решений является реализация своего рода кода и сопоставления ... так что мы можем передавать один и тот же объем данных меньшим количеством символов при условии, что у вас есть декодер. Есть ли лучшие способы? Есть ли какое-то стандартное решение этой проблемы? Одна вещь, которая приходит на ум, - TinyURL, которая, похоже, работает с использованием той же концепции.
ли все файлы использовать все ключевые слова и в том же порядке? Если это так, удалите ключевые слова и получите только значения, разделенные каким-то разделителем, т.е. Первое значение всегда является типом, второе значение всегда является размером и т. Д. Также вместо числовых констант следует использовать числовые константы: 1 = txt, 2 = jpeg и т. Д. – ABuckau