如何在 JavaScript 中獲取字串的位元組長度?


在本教程中,我們將學習如何在 JavaScript 中獲取字串的位元組長度。在深入瞭解之前,我們應該瞭解什麼是位元組。

位元組是資料單位,長度為 8 個二進位制位,即 1 個位元組最多可以容納 8 個二進位制資料位。

位元組是大多數計算機用來表示字元(如字母、數字或印刷符號)的單位。

以下是一些字串及其位元組長度的示例:

輸入

"Tutorials Point"

輸出

15 bytes

輸入

20€

輸出

5 bytes

輸入

"JavaScript"

輸出

10 bytes

有兩種方法可以獲取字串的位元組長度,如下所示:

方法 1. 使用 Blob API

在這種方法中,我們使用 Blob API 獲取字串的位元組大小。Blob 允許您構建類似檔案的物件並將字串轉換為陣列以建立一個物件,從中我們只返回大小,這將是位元組大小。

步驟

獲取字串的位元組長度的步驟如下:

步驟 1 - 建立一個以字串作為輸入的函式。

步驟 2 - 現在我們將字串傳遞到 Blob 中並將其儲存在一個變數中

步驟 3 - 使用 size 方法查詢位元組大小。

步驟 4 - 返回儲存在變數中的字串的位元組大小

步驟 5 - 最後,我們呼叫該函式並將一個字串傳遞給它以獲取其位元組大小。

示例

我們可以使用以下程式碼使用 Blob API 獲取字串的大小(以位元組為單位)。

<!DOCTYPE html> <html> <head> <h2> Tutorials Point </h2> </head> <body> <script> const byte = (str) => { let size = new Blob([str]).size; return size; } document.write(byte("Prince")) document.write("</br>") document.write(byte("JavaScript")) document.write("</br>") document.write(byte("Byte")) document.write("</br>") document.write(byte("Tutorials Point")) document.write("</br>") document.write(byte("1024")) </script> </body> </html>

方法 2. 使用 Buffer API

這是一種用於獲取字串位元組大小的特殊方法。此方法只能在 Nodejs 環境中使用,不能在瀏覽器中使用。在這種方法中,我們建立一個緩衝區物件,然後將字串傳遞到其中,然後使用 length 屬性獲取字串的位元組大小。

步驟

使用緩衝區 API 獲取字串的位元組長度的步驟如下:

步驟 1 - 建立一個以字串作為輸入的函式

步驟 2 - 現在我們將字串傳遞到 Buffer.from() 方法中並將其儲存在一個變數中

步驟 3 - 使用 .length 方法查詢字串的位元組大小。

步驟 4 - 函式將返回儲存在變數中的字串的位元組大小

步驟 5 - 最後,我們呼叫該函式並將一個字串傳遞給它以獲取其位元組大小

示例

我們可以使用以下程式碼使用 Buffer API 獲取字串的大小(以位元組為單位)。

<!DOCTYPE html> <html> <head> <h2> Tutorials Point </h2> </head> <body> <script> const byte = (str) => { let size = Buffer.from(str).length; return size; } document.write(byte("Prince")) document.write("</br>") document.write(byte("JavaScript")) document.write("</br>") document.write(byte("Byte")) document.write("</br>") document.write(byte("Tutorials Point")) </script> </body> </html>

在本教程中,我們學習了兩種在 JavaScript 中獲取字串的位元組長度的方法 - 使用 Blob API 和使用 Buffer API。

更新於: 2022年10月18日

3K+ 閱讀量

啟動你的 職業生涯

透過完成課程獲得認證

開始學習
廣告