powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Base64 для имён файлов
12 сообщений из 37, страница 2 из 2
Base64 для имён файлов
    #39625611
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionermaytonquestioner, мне как-то понадобилось в имена zip-архива складывать нестандартные символы (точки, двоеточия и звездочки).

Я делал их замену на $xxxx где xxxx-код символа в Unicode. И сам символ $ также был заэкранирован.
Все работает хорошо только при чтении таких архивов нужно делать обратную операцию.

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

Выглядит как почти полный аналог UrlEncoder
Не имеет значения как это называть. Это работает.
...
Рейтинг: 0 / 0
Base64 для имён файлов
    #39625724
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NixicBasil A. SidorovЕсли в списке возможных символов упоминается слэш (косая черта), то это "нативный" разделитель путей и он должен быть не в имени файла, а в иерархии каталогов файловой системы.
Более того: слеш не может быть в имени файла физически :)
Почти никогда... а вот это я на всякий случай, мало ли где возможно )))
С практической точки зрения надо быть еще более тщательным в вопросах
взаимодейтсвия пользователя и файловой системы. Пользователи - дураки
по определению и "лупят" такие имена которые я лечил в свое время через
NortonUtilites, e.t.c. Особенно болеет этим линейка Windows. Вы не можете
использовать в качестве имен файлов резервированные имена такие как
NUL, CON и метасимволы *. Не можете использовать двоеточия (это разделитель streams
где хранятся ACL и иногда ЭЦП). Надо быть осторожным с case-sensitive.
NTFS позволяет сохранять разный регистр но матчинг при поиске может
быть толерантным к регистру. Поведение а-ля Паскаль. Длина пути также
может иметь ограничения. Но самая главная беда это не NTFS а прикладное
ПО которое не всегда позволяет ввести с клавиатуры какие-то символы
(из диапазона не-ASCII).

Поэтому эскейпить и еще раз эскейпить.
...
Рейтинг: 0 / 0
Base64 для имён файлов
    #39625782
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonНо самая главная беда это не NTFS а прикладное ПО которое не всегда позволяет ввести с клавиатуры какие-то символы (из диапазона не-ASCII).
Поэтому эскейпить и еще раз эскейпить."Гении дзюдо" одной системы, в процессе рефакторинга, "доработали" хранение файлов так, что всё "не US-ASCII в верхнем регистре" хранилось в виде #xxxx, где xxxx, как нетрудно догадаться, было кодом из BMP.
Оно бы, вроде, и ничего, но, блин, в базе имя файла было "varchar 100" (bytes).

Очередная бага была вынесена когда пользователь получил отлуп из-за "ОЧЕНЬ ДЛИННОГО ИМЕНИ НУЖНОГО ДОКУМЕНТА.doc" ...

Вот до сих пор не могу понять одной простой вещи: что мешало привести имя к нижнему регистру при записи в хранилище, если уж вариант "монотонно возрастающий номер" оказался слишком сложным для реализации.
...
Рейтинг: 0 / 0
Base64 для имён файлов
    #39625783
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorovвсё "не US-ASCII в верхнем регистре"Зачеркнул лишнее.
...
Рейтинг: 0 / 0
Base64 для имён файлов
    #39625792
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Длину поля можно было посчитать на этапе проектирования.

Есть кст. атака на XML/DTD основанная на развертывании entities.
...
Рейтинг: 0 / 0
Base64 для имён файлов
    #39625802
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonДлину поля можно было посчитать на этапе проектирования.Т.е. цинизм ситуации не доходит или костыль завсегда выиграет у человеческого решения?
Для чего прикреплять два файла, которые отличаются только регистром, если клиенты работали исключительно под виндой?
Я, конечно, понимаю, что пользователь может всячески изгалиться, чтобы, таки, прострелить себе голову, но, всё-таки - зачем различать регистр?
...
Рейтинг: 0 / 0
Base64 для имён файлов
    #39625842
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знаю. Это к бизнесу вопрос. Нужно ли различать аббревиатуры к примеру от других слов.
...
Рейтинг: 0 / 0
Base64 для имён файлов
    #39626263
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonНе знаю. Это к бизнесу вопрос. Нужно ли различать аббревиатуры к примеру от других слов.Т.е. у вас в каждом первом проекте SOMENAME - константа, Somename - тип, а somename - переменная типа Somename?
...
Рейтинг: 0 / 0
Base64 для имён файлов
    #39626268
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нету у меня ничего такого.
...
Рейтинг: 0 / 0
Base64 для имён файлов
    #39626275
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
... но для имён документов это совершенно нормально. "Это пять, это мы дадим в конце".

P.S. Я, конечно, понимаю, что решение частного вопроса "что делать, если, таки, в наборе файлов есть одноимённые, но с разным регистром" требует участия аналитика, постановщика, разработчика и тестера.
Экранирование, с другой стороны, можно по быстренькому зафигакать одному разработчику, но, таки, неужели человеческие решения обязаны проигрывать быстрым?
...
Рейтинг: 0 / 0
Base64 для имён файлов
    #39626541
Partisan M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Идея была неудачная. Поэтому предыдущие советы - как лучше сделать то, что лучше не делать - лишены смысла.
...
Рейтинг: 0 / 0
Base64 для имён файлов
    #39626556
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Partisan MИдея была неудачная. Поэтому предыдущие советы - как лучше сделать то, что лучше не делать - лишены смысла.
Как и этот комментарий.
...
Рейтинг: 0 / 0
12 сообщений из 37, страница 2 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Base64 для имён файлов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]