如何从 base64 解码字符串中获取前 16 个字节的数据

How to get first 16 bytes of data from the base64 decoded string

我想从 Base64Decode 字符串中读取前 16 个字节的数据。这是我的代码。请给出如何获取前 16 字节数据的任何建议。

let base64Encodeded = "Hf8Qqpr1klv+Mjle4v0yfOXbQpiXwICyEDF4bYGt/ve7h9a1cEqd5z3QpvnPMLzRpDxSBEutaOdh8SN/Yi9OK2/oUxzJY6OoidPP6UFD42uDvBSJI98RKQxwceiUKZU8AzVLIMbrr01XvB9HSTkzGXfg2Ubw7zlts7mFLgi9IG6YZ1CWNHZ0rKzxrYAfz7e2vshAZOwDm6uaDbBT/00jSA==";
let base64decodeded=atob(base64Encodeded);// Getting °SÿM#H

当您使用 node.js 时(如标签所建议的),您可以使用 Buffer.from 然后 slice 输出以获得前 16 个字节。 encoding 参数 base64 告诉函数将输入字符串视为 base64 编码并将其解码为字节:

let base64Encoded = "Hf8Qqpr1klv+Mjle4v0yfOXbQpiXwICyEDF4bYGt/ve7h9a1cEqd5z3QpvnPMLzRpDxSBEutaOdh8SN/Yi9OK2/oUxzJY6OoidPP6UFD42uDvBSJI98RKQxwceiUKZU8AzVLIMbrr01XvB9HSTkzGXfg2Ubw7zlts7mFLgi9IG6YZ1CWNHZ0rKzxrYAfz7e2vshAZOwDm6uaDbBT/00jSA==";
console.log(Buffer.from(base64Encoded, 'base64').slice(0,16));

结果是:

<Buffer 1d ff 10 aa 9a f5 92 5b fe 32 39 5e e2 fd 32 7c>