2016-11-25 51 views
1

我尝试GUID转换为Base64字符串由于某些原因在Node.js的base64相互转换似乎JavaScript的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'

并且也已经解码以及(无划线)。

然而,根据http://guid-convert.appspot.com/

转换后的结果为 '00 amyWGct0y/ze4lIsj2Mw=='。

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

回答