簡體   English   中英

哪個更可取:Buffer.from() 或 TextEncoder.encode()?

[英]Which one is preferable: Buffer.from() or TextEncoder.encode()?

根據我的理解和 API 文檔,在 Node 中,以下是等效的並返回一個Uint8Array

Buffer.from(someString, 'utf-8')
(new TextEncoder()).encode(someString)

是否其中任何一個正在被棄用? 如果只需要將 UTF-8 字符串與Uint8Array轉換,是否有人知道任何使BufferTextEncoder / TextDecoder優於另一個的考慮因素?

據我了解,在等效功能進入瀏覽器 JS 運行時之前, Buffer是 Node 對二進制 blob 的原始實現。

在瀏覽器使用不同的 API 之后,Node 運行時也合並了它(從代碼可移植性的角度來看這是有意義的),並保留了原始緩沖區支持。

因此,在 Node 中,當涉及到二進制 blob 時,有多種方法可以實現大致相似的結果,其中一些方法在瀏覽器中也可以工作,而另一些則不能。 Buffer.from() / TextEncoder.encode()可能就是其中之一。

我不確定通過選擇“節點經典” Buffer API 而不是瀏覽器兼容的TextEncoder是否有任何性能提升。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM