Мне нужно эффективно хранить byte[]
в размере JWT claim, в частности,.Эффективное хранение двоичных данных в полезной нагрузке JWT Частная претензия Значение
Есть ли что-нибудь более эффективное, чем преобразование byte[]
в base64URL? т.е.
Microsoft.AspNetCore.WebUtilities.Base64UrlTextEncoder.Encode(arrToEnc);
Конечная цель состоит в том, чтобы кодировать List<UInt16>
таким образом, что каждая UInt16
не больше 2 байта (после нормального JWT декодирования).
Оценка: byte[]
-> UTF8 String. т.е. System.Text.Encoding.UTF8.GetString(arrToEnc);
Это совершенно отдельное от того, как JWT, в общем использовании Base64 для их кодирований ...
Спасибо ..
может сжимать содержимое, чтобы пронестись перед кодированием base64? Base64 добавляет 33% накладных расходов. Вероятно, сжатие больше – pedrofb
Альтернативой является base85, но она только улучшает 7℅ по сравнению с base64, не является обычным явлением, и реализации не могут ее поддерживать. См. Http://stackoverflow.com/questions/1443158/binary-data-in-json-string-something-better-than-base64 Я предлагаю сжатие – pedrofb
Я могу и буду использовать gzip. Я напишу кодировщик и декодер, так что необычно. Я думаю, что в конечном итоге решение зависит от кодировки «строки» в стоимости заявки. И я кодирую эту базу. – ttugates