如何在 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。