字串長度統計

📏 String Length Counter

Count characters, bytes, lines, words and spaces.

📐 工作原理與說明
統計文本的字元數、位元組數、詞數與行數,是內容與介面限長校驗的常用工具。
  • 字元 vs 碼元:JS 的 .length 計的是 UTF-16 碼元,emoji 與部分生僻漢字佔 2 個碼元。
  • 準確計數:用 [...str].length 或 Intl.Segmenter 按字素簇切分更符合直覺。
  • 位元組數:取決於編碼,UTF-8 下英文 1 位元組、常用中文 3 位元組、emoji 常 4 位元組。
  • 詞數:英文按空白與標點切分;中文需分詞,常用字數與字元數近似。
📌 統計規則

📚 深度解析:字串長度統計

💡 常見使用場景

統計
"Hello 世界":字元數 8(H e l l o 空格 世 界),UTF-8 位元組數 11(中文各 3 位元組)。

❓ 常見問題(FAQ)

字元數與位元組數為何不同?
中文等多位元組字元在 UTF-8 佔多位元組,資料庫常按位元組限制。
為什麼 emoji 長度算出來是 2?
因為 JS 字串的 .length 統計的是 UTF-16 碼元,而 emoji 大多位於輔助平面、需兩個碼元(代理對)表示。要得到「人眼看到的字元數」,應遍歷 [...str] 或用 Intl.Segmenter 按字素簇計數;統計傳輸體積則要看 UTF-8 位元組數。