javascript GUID base64转换不支持';好像不行

javascript GUID base64转换不支持';好像不行,javascript,node.js,base64,uuid,guid,Javascript,Node.js,Base64,Uuid,Guid,出于某些原因,我尝试在Node.js中转换base64字符串中的GUID 我的职能是 function encode(guid) { let buffer = new Buffer(guid.replace(/-/g, ""), 'hex'); let ret = buffer.toString('base64'); ret = ret.replace(/\//g, "_").replace(/\+/g, "-"); return ret.substring(0,

出于某些原因,我尝试在Node.js中转换base64字符串中的GUID

我的职能是

function encode(guid) {
    let buffer = new Buffer(guid.replace(/-/g, ""), 'hex');
    let ret = buffer.toString('base64');
    ret = ret.replace(/\//g, "_").replace(/\+/g, "-");
    return ret.substring(0,22); //FIXME
}

function decode(encoded_string) {
    let buffer = new Buffer(encoded_string + '==', 'base64');
    let ret = buffer.toString('hex');
    ret = ret.replace(/_/g, "/").replace(/-/g, "+");
    return ret;
}
我测试的guid为'c9a646d3-9c61-4cb7-bfcd-ee2522c8f633'

结果是‘yaZG05xhTLe_ze4lIsj2Mw’

而且它解码得很好(没有破折号)

然而,根据

转换后的结果为“00amyWGct0y/ze4lIsj2Mw==”

我相信我可能做错了什么,但我找不到我做错了什么。

当它是Big-Endian时,您可以检查您的转换是否与这里的结果相同,所以我认为这不是一个大问题