3
我想base64在NodeJS和python中編碼一個二進制字符串,我得到2個不同的值。base64在NodeJS和Python中編碼二進制字符串
注意該值i
是使用os.urandom(16)
的NodeJS
> var i = '>e\x93\x10\xabK\xbe\xfeX\x97\x9a$\r\xef\x8f3';
> var s = new Buffer(i).toString('base64');
> console.log(s);
PmXCkxDCq0vCvsO+WMKXwpokDcOvwo8z
的Python
>>> import base64
>>> i = '>e\x93\x10\xabK\xbe\xfeX\x97\x9a$\r\xef\x8f3'
>>> s = base64.b64encode(i)
>>> print s
PmWTEKtLvv5Yl5okDe+PMw==
我做得不對Python中產生16個隨機字節?它適用於常規字符串,例如我的名字。
的NodeJS
> var s = new Buffer('travis').toString('base64');
undefined
> console.log(s);
dHJhdmlz
的Python
>>> s = base64.b64encode('travis')
>>> print s
dHJhdmlz
謝謝!看起來我正在經歷這種情況,因爲我對測試的價值進行了硬編碼。但生成它正常工作。 – tbeauvais