В настоящее время я работаю над пользовательским приложением SAPUI5. Я хотел бы сделать вызов службы, который ожидает Guid в формате, отличном от доступного в настоящее время.
Пример:
QvLAUUzUCZbhAAAAjSS2iA==
42F2C0514CD40996E10000008D24B688
Я не нашел онлайн-декодера, который мог бы дать желаемый результат, однако мне удалось закодировать руководство 42F2C0514CD40996E10000008D24B
в QvLAUUzUCZbhAAAAjss2iA==
с помощью стандартного функционального модуля SAP ABAP HTTP_BASE64_ENCODE
. Однако с обычными онлайн-кодировщиками я получил другой результат.
Как я могу декодировать закодированный guid с помощью JavaScript, чтобы он имел нужный формат?
Привет Томас. Спасибо за ответ, это выглядит уже неплохо! Только с нулями что-то не так. Ваша функция возвращает «42f2c0514cd4996e10008d24b688», а должно быть «42F2C0514CD40996E10000008D24B688». Я выделил недостающие жирным шрифтом. Кажется, они теряются...
И не могли бы вы рассказать мне что-нибудь о значении регулярного выражения и charCodeAt? Спасибо!
Регулярное выражение заменяет все символы для своего шестнадцатеричного представления.
К вашему сведению, этот онлайн-декодер/кодировщик дает правильный результат: paulschou.com/tools/xlate
Возможный дубликат Декодировать Base64 в шестнадцатеричную строку с помощью javascript
Строка в шестнадцатеричном формате, вам придется ее преобразовать.
Сначала вы преобразуете строку в двоичную (atob > charCodeAt), а затем, используя toString (16), получаете шестнадцатеричный код.
Я не буду публиковать код, так как он уже объяснен Декодировать Base64 в шестнадцатеричную строку с помощью javascript
atob("QvLAUUzUCZbhAAAAjSS2iA= = ").replace(/[^]/g, c => c.charCodeAt(0).toString(16))