字元頻率統計
統計文字中每個字元的出現次數和頻率分佈
統計選項
排序
什麼是字元頻率統計?
字元頻率分析用來統計文字中每個字元出現的次數和占比。它不只看字母,也可能包含數字、標點、空格、中文字元、符號,以及不容易用肉眼看到的控制字元。這個工具適合做密碼學入門分析、簡單替換密碼觀察、文字特徵提取、資料清理、編碼排查、壓縮研究和匯入內容品質檢查。異常頻率可能提示隱藏格式字元、亂碼、重複分隔符、意外語言或複製貼上殘留。它不會自動解釋所有原因,但能把文字的真實字元分布用可量化方式展示出來。
使用方式
使用方法
- 在輸入區輸入或貼上文字
- 系統會自動統計每個字元的出現次數與頻率
- 使用排序選項依字元或次數排列結果
- 調整選項(區分大小寫、空白、換行)
計數範圍
- 比較文字前,先決定是否將空白、標點、大小寫及換行列入計算範圍。
- 處理多語言文字時,請留意 emoji、組合字元及中日韓字元的行為可能與單一拉丁字母不同。
使用場景
技術原理
字元頻率分析統計文字中每個字元出現的次數。實作使用雜湊表(JavaScript 中通常是 Map):1) 逐字元遍歷文字,2) 對每個字元遞增 map 中的計數,3) 按計數降序排序條目,4) 渲染直方圖(前 10-20 個字元,其餘歸入尾部桶)。演算法時間複雜度為 O(N),N 為字元數,主要開銷在於 map 查找和遞增(在 V8 和 SpiderMonkey 中對常見情況基本可忽略)。 一個有用的細節:什麼算作一個字元?在 JavaScript 中,.length 回傳的是 UTF-16 碼元數量,而非 Unicode 碼點。基本多文種平面之外的字元(表情符號、罕見漢字)以代理對(兩個碼元)編碼,粗暴地按碼元計數會將每個代理半部視為單獨字元而導致過度計數。本頁面使用 Array.from(text) 或 Intl.Segmenter 來迭代碼點(或字素簇),這對大多數使用場景而言是正確的字元定義。 一個有用的應用:頻率分析是破解替換密碼(凱撒密碼、維吉尼亞密碼、簡單替換密碼)的經典技術。英文字母頻率分佈眾所周知(E、T、A、O、I、N、S、H、R 為最常見字母,大致按此順序),而替換密碼保留了頻率分佈,因此最常見的密文字母很可能對應 E,第二常見的對應 T,依此類推。本頁面是教學工具而非密碼分析工具,但技術原理相同。 關於 Unicode 的注意事項:對於中日韓語言,字元頻率分佈取決於語料庫(現代小說、古典詩詞、技術文字)和分析層級(字元、詞、二元組、三元組)。對現代中文小說的頻率分析會給出一種分佈;對《論語》的頻率分析則會給出另一種。本頁面與語料庫無關,使用者可對任何文字執行分析。
- 雜湊表(JS 中的 Map):遍歷文字、遞增計數、按計數降序排序、渲染直方圖;時間複雜度 O(N),單字元開銷極低。
- 代理對:基本多文種平面之外的字元(表情符號、罕見漢字)佔兩個 UTF-16 碼元;粗暴按碼元計數會過度計數;應使用 Array.from 或 Intl.Segmenter。
- 替換密碼分析:英文字母頻率 E、T、A、O、I、N、S、H、R(最常見順序);替換密碼保留此分佈。
- 中日韓頻率:取決於語料庫(現代小說、古典詩詞、技術文字)和分析層級(字元、詞、二元組);本頁面與語料庫無關。
- Top-N 與尾部:頁面預設渲染前 10-20 個字元,其餘歸入尾部桶;適用於在密集文字中發現規律。
- 大小寫敏感:頁面提供區分/不區分大小寫切換;英文通常不區分大小寫(E 和 e 是同一字母的不同形態),中日韓始終不區分大小寫(無大小寫概念)。
- 效能:計數為 O(N),排序 K 個不同字元為 O(K log K);本頁面可在一秒內處理百萬字元級文字,符合生產環境模式。
範例
英文文字分析
輸入 "hello world" → 結果:'l' 出現 3 次(27.3%),'o' 出現 2 次(18.2%)中文文字分析
輸入 "我爱中国我爱北京" → 結果:'我' 與 '爱' 各出現 2 次(25%)頻率分布比較
英文文字:'e' 最高約 12.7%;中文:'的' 最高約 4%常見問題
這個分析器會統計什麼?
每個不同字元出現的次數,並依頻率排序。用來進行密碼破譯(英文文章字母頻率有規律可循,最高的依序是 E、T、A、O)、文字分析、找出貼上文件中的非預期字元都很方便。
會把空白字元算進去嗎?
預設會:空格、Tab、換行各自一列。若只想看可列印字元,請開啟「忽略空白」。空白通常是自然語言文章中最常出現的「字元」(約 20%)。
計數會區分大小寫嗎?
預設會,「A」和「a」分開計算。打開「忽略大小寫」就會合併計算,自然語言分析時通常會這樣做。檢查程式碼或雜湊值時則需要區分大小寫。
中文、日文、韓文也能分析嗎?
可以。每個 CJK 字元都會單獨計數。一段中文的頻率表自然會有上百個不同的字元,因為中文沒有共用的字母系統。本工具透過字素叢集(grapheme cluster)正確處理 Unicode。
可以看到百分比嗎?
可以,頁面通常會同時顯示次數和佔總體的百分比。在破解簡單替換密碼時,把字母分布拿來和已知參考分布比對非常實用。
為什麼百分比加總不是 100?
四捨五入造成的。每格百分比保留固定小數位,加總後可能與 100% 偏差零點幾。要算精確總和請用原始次數相加。
我的文字會被上傳嗎?
不會。頻率分析在你的瀏覽器中執行,貼上的文字不會傳出。