【发布时间】:2019-05-29 12:31:43
【问题描述】:
我目前正在开发一个自定义 SAPUI5 应用程序。我想进行一个服务调用,它期望 Guid 的格式与当前可用的格式不同。
一个例子:
- 可用(base64):
QvLAUUzUCZbhAAAAjSS2iA== - 应该是(十六进制):
42F2C0514CD40996E10000008D24B688
我还没有找到可以产生所需结果的在线解码器,但是,我能够使用 SAP ABAP 标准功能模块 HTTP_BASE64_ENCODE 将 guid 42F2C0514CD40996E10000008D24B 编码为 QvLAUUzUCZbhAAAAjss2iA==。然而,使用通常的在线编码器,我得到了不同的结果。
如何使用 JavaScript 解码编码的 guid 以使其具有所需的格式?
【问题讨论】:
-
atob("QvLAUUzUCZbhAAAAjSS2iA==").replace(/[^]/g, c => c.charCodeAt(0).toString(16)) -
嗨,托马斯。谢谢你的回答,这看起来已经很不错了!只有零有问题。您的函数返回“42f2c0514cd4996e10008d24b688”,它应该是“42F2C0514CD40996E10000008D24B688”。我将丢失的标记为粗体。他们好像迷路了……
-
你能告诉我一些关于 regex 和 charCodeAt 的含义吗?谢谢!
-
正则表达式正在替换其十六进制表示的所有字符。
标签: javascript sap decode encode