[Техпоп] Как преобразовать числовые идентификаторы в строковые с произвольным алфавитом

И как сделать так, чтобы не получились ГАВНО и ЖЁПА.

Примеры для первых 5 идентификаторов
341341 открытие

Расскажи про Base65536

Ответить

Грубо говоря, в оригинальном тексте с обычным алфавитом один символ - это один байт, т.е. один символ покрывает 256 вариантов текста. В Base65536 один символ - это 2 байта. Берем какой-нибудь текст длиной 255 символов (255 байт) и переводим в Base65536. Получается что-то такое:
 𤇃𢊻𤄻嶜𤄋𤇁𡊻𤄛𤆬𠲻𤆻𠆜𢮻𤆻ꊌ𢪻𤆻邌𤆻𤊻𤅋𤲥𣾻𤄋𥆸𣊻𤅛ꊌ𤆻𤆱炼綻𤋅𤅴薹𣪻𣊻𣽻𤇆𤚢𣺻赈𤇣綹𤻈𤇣𤾺𤇃悺𢦻𤂻𤅠㢹𣾻𤄛𤆓𤦹𤊻𤄰炜傼𤞻𢊻𣲻𣺻ꉌ邹𡊻𣹫𤅋𤇅𣾻𤇄𓎜𠚻𤊻𢊻𤉛𤅫𤂑𤃃𡉌𤵛𣹛𤁐𢉋𡉻𡡫𤇠𠞗𤇡𡊄𡒌𣼻燉𣼋𦄘炸邹㢸𠞻𠦻𡊻𣈻𡈻𣈛𡈛ꊺ𠆼𤂅𣻆𣫃𤮺𤊻𡉋㽻𣺬𣈛𡈋𤭻𤂲𣈻𤭻𤊼𢈛儛𡈛ᔺТут все те же 255 байт, но размер текста теперь 128 символов - влезает в твиттер (когда там еще было ограничение 140 символов).

Ответить