В проекте мне приходится иметь дело с UUID в формате v4, например:
931d4657-2e07-477f-be0c-5dd02906a516
В принципе, с ними все в порядке, они просто слишком длинные, чтобы набирать их вручную. Поэтому я думаю о том, как их сократить, но не теряя возможности вернуться к исходному UUID. Так что просто учесть первые n
байтов не вариант; -)
Моя первая идея состояла в том, чтобы представить его как символы Юникода вместо шестнадцатеричных кодов, но это приводит к непечатным (и не типизированным) символам. Так что это тоже не вариант.
Тогда я думаю о кодировках Base64 (Base58, ...), но они на самом деле не делают вещи заметными короче (у меня нет конкретной целевой длины, я просто хочу, чтобы это было на соответствующее количество символов меньше, и сохраняю 2 символа не то, что я имею в виду; -)).
Есть ли хитрый трюк для этого, сохраняя при этом возможность вернуться к UUID? У кого-нибудь есть идея?