Javascript 解码Base64字符串

Javascript 解码Base64字符串,javascript,sap,decode,encode,Javascript,Sap,Decode,Encode,我目前正在开发一个定制的SAPUI5应用程序。我想进行一个服务调用,它希望Guid的格式与当前可用的格式不同 例如: 可用(base64):qvlauuuuzuczbhaaaajs2ia== 应为(十六进制):42F2C0514CD40996E10000008D24B688 我还没有找到能够产生预期结果的在线解码器,但是,我能够使用SAP ABAP标准功能模块HTTP_BASE64_encode将guid42F2C0514CD40996E10000008D24B编码为qvlauuuuuuuu

我目前正在开发一个定制的SAPUI5应用程序。我想进行一个服务调用,它希望Guid的格式与当前可用的格式不同

例如:

  • 可用(base64):
    qvlauuuuzuczbhaaaajs2ia==
  • 应为(十六进制):
    42F2C0514CD40996E10000008D24B688
我还没有找到能够产生预期结果的在线解码器,但是,我能够使用SAP ABAP标准功能模块
HTTP_BASE64_encode
将guid
42F2C0514CD40996E10000008D24B
编码为
qvlauuuuuuuuuuuczbhaaaajs2ia=
。然而,使用通常的在线编码器,我得到了不同的结果


如何使用JavaScript解码编码的guid,使其具有所需的格式?

字符串为十六进制格式,您必须对其进行转换

首先将字符串转换为二进制(atob>charCodeAt),然后使用toString(16)获得十六进制

我不会发布代码,因为它已经解释过了

atob(“qvlauuuuzuczbhaaaajs2ia==”)。替换(/[^]/g,c=>c.charCodeAt(0)。toString(16))
Hi Thomas。谢谢你的回答,这看起来已经很好了!零只是有点问题。函数返回“42f2c0514cd4996e10008d24b688”,它应该是“42F2C0514CD40996E10000008D24B688”。我把丢失的标记为粗体。他们好像迷路了……你能告诉我一些关于regex和charCodeAt的意思吗?非常感谢。正则表达式正在替换其十六进制表示形式的所有字符。的可能重复