Из /proc/{}/cmdline я получаю имя процесса и список его параметров. В качестве раделителя там используется \0. Само по себе это не проблема, проблема в том, что дальше я храню эти данные в раширенных атрибутах файла и мне нужно чтобы пользователь мог получить данные с помощью каких-то своих третьих утилит, поэтому я заменяю \0 на пробелы.
И всё бы хорошо, но мне теперь понадобилось отрезать параметры чтобы получить чисто название процесса. Доступа к /proc/{}/cmdline уже нет, поэтому работать нужно со строкой с пробелами.
Но ведь у нас может быть ситуация, когда кто-то нафигачит пробелов в путь? Может. Редко, но в мире где есть гентушники возможно всё.
Использовать длинные уникальные сепараторы я не хочу, поскольку это испортит картину для тех, кто будет читать атрибуты с помощью третьих программ.
Пока у меня 2 идеи: использовать \t вместо пробелов. Парсить легко и выглядит как пробел. Чуток сломается обратная совместимость, но это не очень критично.
Вторая идея: забить на проблемы с пробелами и продолжать их использовать. Пофиг на мелкие неприятности которые вылезут если у кого будет пробел в пути или названии бинарика.
Вот какие есть мнения по этому поводу?