」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何確定 JavaScript 字串的位元組大小?

如何確定 JavaScript 字串的位元組大小?

發佈於2024-11-04
瀏覽:359

How Can I Determine the Byte Size of a JavaScript String?

計算JavaScript 字串的大小(以位元組為單位)

問題圍繞著確定JavaScript 字串的大小(以位元組為單位)。透過從伺服器接收的UTF-8 編碼字串(大小約為500K),調查探討了影響字串大小的因素,包括JavaScript 中UCS-2 的使用、JavaScript 實作中的潛在變更以及頁面編碼或內容類型的影響.

在JavaScript 中確定字串大小

要取得以位元組為單位的字串大小,可以使用Blob 物件。 Blob 建構函式採用一個包含要測量的字串的陣列。然後,產生的 Blob 物件的 size 屬性提供以位元組為單位的大小。

JavaScript 字串大小計算範例

出於說明目的,以下是一些字串範例使用Blob 物件計算的大小:

console.info(
  new Blob(['?']).size,                             // 4
  new Blob(['?']).size,                             // 4
  new Blob(['??']).size,                           // 8
  new Blob(['??']).size,                           // 8
  new Blob(['I\'m a string']).size,                  // 12

  // from Premasagar correction of Lauri's answer for
  // strings containing lone characters in the surrogate pair range:
  // https://stackoverflow.com/a/39488643/6225838
  new Blob([String.fromCharCode(55555)]).size,       // 3
  new Blob([String.fromCharCode(55555, 57000)]).size // 4 (not 6)
);

需要考慮的其他因素

雖然 JavaScript 主要採用 UCS-2,但某些實作可能會偏離此標準。此外,頁面編碼和內容類型會影響字串的大小表示。驗證特定 JavaScript 實作和瀏覽器環境是否存在任何潛在差異非常重要。

版本聲明 本文轉載於:1729293498如有侵犯,請洽[email protected]刪除
最新教學 更多>
  • 使用Java Native Access (JNA)呼叫MacOS API
    使用Java Native Access (JNA)呼叫MacOS API
    介紹 這是一個關於如何將 JNA 與 MacOS API 結合使用的簡單範例。我不會解釋這一點,因為我仍在學習,但我將程式碼保持最少,以便更容易理解並了解如何將其用於其他目的的基本概念。 大部分程式碼來自 Intellij-Community(Apache 授權)。 ...
    程式設計 發佈於2024-11-09
  • 了解 JavaScript 中的匯出和匯入
    了解 JavaScript 中的匯出和匯入
    在 JavaScript 中,模組是獨立的程式碼單元,可以使用匯出將資產公開給其他模組,並使用導入使用來自其他模組的資產。這種機制對於在現代 JavaScript 應用程式中建立模組化和可重複使用的程式碼至關重要。 預設導出 一個模組只能有一個預設導出。 要匯出預設資源,請在匯出的實體之前使用 ...
    程式設計 發佈於2024-11-09
  • 如何避免 Go 模板中 HTML 和 JSON 的意外轉義?
    如何避免 Go 模板中 HTML 和 JSON 的意外轉義?
    在Go 模板中轉義HTML 和JSON在Go 模板中,正確處理HTML 和JSON 以防止意外轉義至關重要。考慮以下範本:<some_html> {{ .SomeOtherHTML }} </some_html>如果您希望輸出只是 ,那麼您可能會遇到到< 和& 等特殊字元被轉...
    程式設計 發佈於2024-11-09
  • CORS 可防止哪些錯誤:「Access-Control-Allow-Origin 不允許來源」?
    CORS 可防止哪些錯誤:「Access-Control-Allow-Origin 不允許來源」?
    CORS 防止的錯誤:「Access-Control-Allow-Origin 不允許來源」簡介:跨來源資源共享(CORS) 期間,當用戶端腳本嘗試從與其運行來源不同的來源存取資源。 原因:此錯誤有幾個潛在原因: 同源策略:未經伺服器明確許可, JavaScript 被限制存取其網域之外的資源。此策...
    程式設計 發佈於2024-11-09
  • 為什麼 useState 在嚴格模式下渲染元件兩次?
    為什麼 useState 在嚴格模式下渲染元件兩次?
    理解useState中的雙重渲染在React中,useState鉤子通常用於管理元件狀態。但是,在某些條件下,您可能會注意到使用 useState 呈現的元件對於每次狀態更新都會呈現兩次。這種行為讓許多未啟用嚴格模式的開發人員感到困惑。為什麼會出現這種情況? 嚴格模式的作用與未啟用嚴格模式的假設相反...
    程式設計 發佈於2024-11-09
  • Flex 專案是區塊級還是 Flex 級?深入研究 CSS 佈局
    Flex 專案是區塊級還是 Flex 級?深入研究 CSS 佈局
    Flex 專案令人困惑的本質:區塊級還是 Flex 等級? Flex 專案是否是區塊級的問題一直是CSS 開發者之間的爭論。 CSS 靈活框佈局模組等級 1 規定 Flex 項目位於 Flex 級別,而不是區塊級別。然而,後面的部分顯示彈性項目的顯示值是「塊化」的。這就提出了一個問題:Flex 專案...
    程式設計 發佈於2024-11-09
  • 如何在不使用 Sudo 的情況下在 macOS 上安裝 Python 套件時修復權限錯誤?
    如何在不使用 Sudo 的情況下在 macOS 上安裝 Python 套件時修復權限錯誤?
    排查macOS 上Pip 的權限錯誤嘗試在Mac 上安裝Python 套件時,您可能會遇到與寫入日誌檔案或網站套件相關的權限錯誤目錄。這些錯誤可能會令人沮喪,特別是如果您想在當前使用者帳戶下安裝軟體包而不使用 sudo。 權限錯誤的根本原因預設情況下,Pip 會嘗試在系統中安裝軟體套件-wide P...
    程式設計 發佈於2024-11-09
  • JavaScript 可以使用座標模擬點擊嗎?
    JavaScript 可以使用座標模擬點擊嗎?
    在 JavaScript 中以座標模擬點擊在 Web 開發中,有時需要模擬使用者交互,例如點擊。 JavaScript 提供了一種利用特定座標來實現此目的的方法。 在 JavaScript 中基於 x,y 座標模擬點擊是否可行? 是的,可以使用 JavaScript 中的座標模擬來點擊。但是,重要的...
    程式設計 發佈於2024-11-09
  • 如何在 Go 中自動執行外部命令輸入:繞過「登入」等命令的使用者互動的指南
    如何在 Go 中自動執行外部命令輸入:繞過「登入」等命令的使用者互動的指南
    Go 自動化外部命令輸入在 Go 中,執行外部命令並管理其輸入和輸出是一項常見任務。但是,在處理提示使用者輸入的命令(例如「登入」)時,以程式設計方式自動執行這些輸入可能具有挑戰性。 解決此問題的一種方法是直接寫入命令的標準輸入(stdin) )使用位元組緩衝區。讓我們深入研究提供的解決方案:lo...
    程式設計 發佈於2024-11-09
  • 如何使用並發在 Go 中高效率地讀寫 CSV 檔案?
    如何使用並發在 Go 中高效率地讀寫 CSV 檔案?
    Go 中高效的 CSV 讀寫Go 中高效的 CSV 讀寫package main import ( "encoding/csv" "fmt" "log" "os" "strconv"...
    程式設計 發佈於2024-11-09
  • 如何在 CSS 中為多個父級中的特定 n 個子級設定樣式
    如何在 CSS 中為多個父級中的特定 n 個子級設定樣式
    跨多個父級設定特定第n 個子級的樣式使用第n 個子級選擇器設定嵌套元素的樣式時,需要注意的是,選擇器在單父上下文中運行。當針對多個父級中的特定子元素時,這可能會帶來挑戰。 問題:考慮以下標記:<div class="foo"> <ul> ...
    程式設計 發佈於2024-11-09
  • 如何使用字串插值將 CSS 屬性設定為 SASS 中的 mixin 值?
    如何使用字串插值將 CSS 屬性設定為 SASS 中的 mixin 值?
    將 SASS Mixin 值設為 CSS 屬性建立通用邊距/填入 mixin 時,可能需要將 CSS 屬性設為 mixin 值。為此,需要使用字串插值。 CSS 屬性的字串插值要使用變數作為 CSS 屬性名稱,需要字串插值 (#{$var})。 範例下面的 mixin 示範如何使用字串設定 CSS ...
    程式設計 發佈於2024-11-09
  • MUI TextField:建立變體、顏色和樣式
    MUI TextField:建立變體、顏色和樣式
    The mui textfield is a fundamental component in Material-UI, designed to capture user inputs efficiently and stylishly. This guide explores its build ...
    程式設計 發佈於2024-11-09
  • 在 Java 中如何安全地將 Long 轉換為 Int?
    在 Java 中如何安全地將 Long 轉換為 Int?
    在Java 中安全地將Long 轉換為Int:一個全面的解決方案在Java 中使用數位類型時,請確保轉換至關重要操作不會導致資料遺失。當將 long 值轉換為 int 時,這一點尤其重要,因為 long 的精度可能超過 int。 Java 8:簡化流程Java 8 之前的版本,安全地將 long 轉...
    程式設計 發佈於2024-11-09
  • 如何修復整合 Authorize.net 支付網關時出現「呼叫未定義函數curl_init()」錯誤?
    如何修復整合 Authorize.net 支付網關時出現「呼叫未定義函數curl_init()」錯誤?
    未定義的函數:curl_init()在實作Authorize.net的支付網關的上下文中,您可能會遇到錯誤「呼叫未定義」函數curl_init()」。這表示您的系統上未正確配置或安裝PHP curl 擴充功能。Windows 作業系統對於Windows 使用者,請驗證您的php.ini 檔案中的以下...
    程式設計 發佈於2024-11-09

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3