浏览器中的缓冲区库与 nodejs 中的值不同 return

Buffer library in browser does not return the same value as in nodejs

当 运行 节点 js 中的 Buffer.from 静态方法在 public 键上时,我得到不同的 console.log 当 运行 它来自浏览器时(在angular 项目)。他们不应该是一样的吗?我做错了什么吗?

const pubKey='30819F300D06092A864886F70D010101050003818D0030818902818100B2E9AFAFEED76A5C31D069F84328D785DFE6C40A69F51B29C7D7C91EF171A5EF6AD9FC30AF31F4B59C0FE317E47B5DBAA04E3753AC7F8B0E54D8EB4372894900DE247FD11B8C2208FE1C837ADEC409B0F2EE89A5C54B8AB80D5934FC65100406077D129DC5EB961E883B937C4251FDA4BD77224D1CDEF09151894F902758AA3B0203010001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000';

const buff = Buffer.from(pubKey, 'hex');

console.log(buff)
<Buffer 30 81 9f 30 0d 06 09 2a 86 48 86 f7 0d 01 01 01 05 00 03 81 8d 00 30 81 89 02 81 81 00 b2 e9 af af ee d7 6a 5c 31 d0 69 f8 43 28 d7 85 df e6 c4 0a 69 ... 244 more bytes>

在 angular 我已经安装了 npm i buffer 并在 pollyfills.ts 中提供了它

(window as any).global = window;
(window as any).global.Buffer = require('buffer').Buffer;
(window as any).process = {};

运行 浏览器上的相同代码 Stackblitz 产生

所以我的问题是

为什么浏览器中的缓冲区 return 有所不同? [0] = 48 vs [0]= 30

在 Stackblitz 示例中,您可以看到我正在使用带有 node-rsa 的缓冲区进行加密。来自 nodejs 脚本的加密值有效,而来自浏览器的加密值无效。

数据相同,只是两种不同的表示方式:

console.log(buff)
<Buffer 30 81 9f 30 0d 06 09 2a 86 48 86 f7 0d 01 01 01 05 00 03 81 8d 00 30 81 89 02 81 81 00 b2 e9 af af ee d7 6a 5c 31 d0 69 f8 43 28 d7 85 df e6 c4 0a 69 ... >
undefined
console.log(buff.toJSON())
{ type: 'Buffer',
  data:
   [ 48,
     129,