Deno 等价于 Node.js Buffer.from(string)
What's Deno equivalent of Node.js Buffer.from(string)
如何将字符串转换为缓冲区?
我试过:Uint8Array.from('hello world')
但它不起作用
等价于Buffer.from('Hello World')
是:
const encoder = new TextEncoder()
const buffer = encoder.encode('Hello World');
如果你想解码回来,你需要使用TextDecoder
。
const decoder = new TextDecoder()
console.log(decoder.decode(buffer))
Deno 在可能的情况下尝试实现 Web APIs,这也是它在浏览器上以相同方式工作的原因。
const decoder = new TextDecoder();
const encoder = new TextEncoder();
const buffer = encoder.encode('Hello World');
console.log(buffer);
console.log(decoder.decode(buffer))
请记住,Node.js' Buffer
支持多种编码,例如 base64
或 hex
,它们不适用于 TextDecoder
因此,如果您有一个 base64
字符串并希望将其转换为 utf8
而不是执行以下操作:
const base64String = Buffer.from('Hello World').toString('base64'); // Hello World
const utf8String = Buffer.from(base64String, 'base64').toString();
您需要使用 atob
(Same as Web API) 代替:
const base64String = btoa('Hello World');
const utf8String = atob(base64String);
console.log('Base64:', base64String);
console.log('utf8string:', utf8String);
如何将字符串转换为缓冲区?
我试过:Uint8Array.from('hello world')
但它不起作用
等价于Buffer.from('Hello World')
是:
const encoder = new TextEncoder()
const buffer = encoder.encode('Hello World');
如果你想解码回来,你需要使用TextDecoder
。
const decoder = new TextDecoder()
console.log(decoder.decode(buffer))
Deno 在可能的情况下尝试实现 Web APIs,这也是它在浏览器上以相同方式工作的原因。
const decoder = new TextDecoder();
const encoder = new TextEncoder();
const buffer = encoder.encode('Hello World');
console.log(buffer);
console.log(decoder.decode(buffer))
请记住,Node.js' Buffer
支持多种编码,例如 base64
或 hex
,它们不适用于 TextDecoder
因此,如果您有一个 base64
字符串并希望将其转换为 utf8
而不是执行以下操作:
const base64String = Buffer.from('Hello World').toString('base64'); // Hello World
const utf8String = Buffer.from(base64String, 'base64').toString();
您需要使用 atob
(Same as Web API) 代替:
const base64String = btoa('Hello World');
const utf8String = atob(base64String);
console.log('Base64:', base64String);
console.log('utf8string:', utf8String);