ToolAct工具行動

字元頻率統計

統計文字中每個字元的出現次數和頻率分佈

輸入文字

統計選項

總字元數
0
不同字元數
0

排序

統計選項

频率分布
暫無資料,請輸入文字

什麼是字元頻率統計?

字元頻率分析用來統計文字中每個字元出現的次數和占比。它不只看字母,也可能包含數字、標點、空格、中文字元、符號,以及不容易用肉眼看到的控制字元。這個工具適合做密碼學入門分析、簡單替換密碼觀察、文字特徵提取、資料清理、編碼排查、壓縮研究和匯入內容品質檢查。異常頻率可能提示隱藏格式字元、亂碼、重複分隔符、意外語言或複製貼上殘留。它不會自動解釋所有原因,但能把文字的真實字元分布用可量化方式展示出來。

使用方式

使用方法

  1. 在輸入區輸入或貼上文字
  2. 系統會自動統計每個字元的出現次數與頻率
  3. 使用排序選項依字元或次數排列結果
  4. 調整選項(區分大小寫、空白、換行)

計數範圍

  • 比較文字前,先決定是否將空白、標點、大小寫及換行列入計算範圍。
  • 處理多語言文字時,請留意 emoji、組合字元及中日韓字元的行為可能與單一拉丁字母不同。

使用場景

分析雜亂日誌、OCR 輸出和關鍵字清單貼上複製的日誌、OCR 輸出、關鍵字清單或編碼字串,即可看到總字元數、不同字元數、出現次數、百分比和按頻率排序的視覺化長條圖。按次數排序可找出主要符號,按字元排序可依序瀏覽字母表。這種分布快照是在決定要清洗、分類還是丟棄輸入之前的第一步。
暴露隱藏的空白和大小寫問題切換區分大小寫、忽略空格和忽略換行符號,觀察重複項、解析器失敗或版面問題是否由隱藏的分隔符或大小寫差異造成。比較計為不同與計為相同的一對結果,能揭示哪些字元正在悄悄地讓文字體積翻倍。數千行中的一個不換行空格會在表格中顯示為微小但真實的百分比。
為清理規則和驗證器準備依據在撰寫替換規則、驗證邏輯、語言學習素材、謎題檢查或語料庫清理筆記之前,先按字元或次數排序,這些工作都依賴精確的字元分布。頻率表為清理討論提供了可量化的依據,而非僅靠肉眼觀察。與審查者分享表格,讓規則和它們所針對的資料保持一致。
發現亂碼、智慧引號和多餘的 BOM 標記對可疑字串執行分析,尋找異常聚集的替代字元、組合標記或不可列印位元組,這些通常表示編碼錯誤、智慧引號替換或複製文字中殘留的 BOM 標記。短樣本中 U+FFFD 的突然飆升或單一字元出現奇怪頻率,通常意味著上游的字元集不匹配。
區分碼點、代理對和 ZWJ 表情符號除了原始計數外,分析器還能揭示碼點和字素簇之間的差異:像彩虹旗這樣的旗幟表情符號由多個碼點透過 ZWJ 連接而成,數學符號可能是單一碼點或代理對。將總數視為碼點總數,讓 ZWJ 序列和代理對在表格中可見,而非折疊到周圍文字中。

技術原理

字元頻率分析統計文字中每個字元出現的次數。實作使用雜湊表(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% 偏差零點幾。要算精確總和請用原始次數相加。

我的文字會被上傳嗎?

不會。頻率分析在你的瀏覽器中執行,貼上的文字不會傳出。