A1Z26 無法保留大小寫。 每個字母都會被簡化為其在 26 個英文字母中的位置 —— A 為 1,B 為 2,依此類推到 Z 的 26 —— 而這個單一的數值並未攜帶原始字元是大寫或小寫的資訊。由此直接造成的結果是,輸入字串 helloHELLO 會編碼為完全相同的序列 8-5-12-12-15,任何解碼步驟都僅會回傳大寫字母。原因在於其結構:A1Z26 在 26 個字母位置中只有 26 個符號可用,因此一旦字母被指派數字,格式中便沒有剩餘空間能記錄大小寫。如果謎題、遊戲或課堂練習需要知道原始字母是否為大寫,該資訊必須存在於另一個獨立管道中 —— 亦即在數值序列本身之外。A1Z26 密碼翻譯工具完全依照此規則運作:它在編碼前會將輸入標準化為大寫,且解碼輸出永遠是大寫 A 到 Z。任何其他做法都需要為這個簡單的 A=1 到 Z=26 對應額外擴充慣例,而這從未是其設計原意。

A1Z26 會遺失大小寫這件事,讓許多初次使用的使用者感到意外,因為他們預期字母替換會像 ROT13 或 Caesar 密碼那樣,各自獨立地保留大小寫。A1Z26 並非這類替換。它是一種以位置編號為基礎的機制,剛好被當作密碼使用,而位置編號在本質上即為大小寫無關。理解這個單一區別,就能釐清大部分關於輸出格式、混合大小寫輸入的等價性,以及在不破壞簡單對應的前提下無法存在「可感知大小寫」之 A1Z26 變體等下游問題。

does a1z26 preserve capitalization
A1Z26 是否保留大小寫?一個明確的答案

為何 A1Z26 無法保留大小寫

此對應是直接建立在 ASCII 基本拉丁區塊中大寫英文字母的順序之上。根據 Unicode 基本拉丁字元表,大寫 A 到 Z 的代碼點是連續的,而 A1Z26 規則僅僅偏移該範圍,使 A 對應到 1、Z 對應到 26。這個偏移本身並未儲存輸入字元的原始代碼點,因此輸出中沒有任何位置能記錄輸入究竟是大寫 A(代碼點 65)還是小寫 a(代碼點 97)。兩者都會被簡化為數字 1,一旦簡化,原始代碼點便消失。

這與保留大小寫的密碼有根本上的不同。舉例而言,ROT13 套用的替換規則,會將字母表各自向前推進 13 位,大寫與小寫獨立處理,因此大寫字母保持大寫、小寫字母保持小寫。Caesar 密碼與 Vigenere 密碼的行為也相同。這些密碼維持兩套平行的字母表 —— 每種大小寫各一套 —— 並各自沿著自己的軌道位移。A1Z26 並無第二條軌道。它只有一條由 26 個數值組成的單一數線,而這條數線在建構上即為大小寫無關。若要將大小寫加入 A1Z26,必須將輸出範圍加倍、引入獨立的「上」或「下」標記,或預先決定一套位移慣例 —— 而上述每一種做法都會違反 A=1 到 Z=26 的簡單合約。

混合大小寫及其他輸入會發生什麼情況

當 A1Z26 密碼翻譯工具接收到混合大小寫的文字時,會在計算數值序列之前,將所有內容標準化為大寫。這代表 Hello WorldHELLO WORLDhElLo wOrLd 以及任何其他大小寫組合,都會產生相同的輸出:8-5-12-12-15 / 23-15-18-12-4。當中的斜線為工具明確的字詞邊界標記;連字號分隔單字內的字母,斜線則分隔兩個單字。若貼上含有標點符號、數字或帶有變音符號的字母(例如 é),編碼器會以明確的錯誤訊息拒絕輸入,而不是靜默地捨棄字元或自行產生跳脫序列。這樣的拒絕處理是刻意設計:一個不被支援的字元,否則就必須被忽略(這會遺失資訊)或對應到某個數值(這會發明簡單 A=1 到 Z=26 規則並不支援的慣例)。

密碼是否保留大小寫?根本原因
A1Z2626 個字母位置對應 26 個數值欄位;該數值在本質上即為大小寫無關
ROT13兩套平行字母表(大寫與小寫)各自獨立位移 13 位
Caesar每種大小寫沿著自己的字母表,按宣告的位移量進行位移
VigenereA–Z 金鑰獨立套用於大寫與小寫字母

上表的對比,是內化 A1Z26 行為最清晰的方式。保留大小寫的密碼會維持兩條由 26 個字母組成的平行軌道;A1Z26 則將兩條軌道摺疊成一條由 26 個數字組成的單一軌道。一旦這個摺疊發生,原始大小寫便無法還原,因為該資訊從一開始就未曾被記錄。請將 A1Z26 視為一個僅處理字母的單一通道系統。

如何使用 A1Z26 密碼翻譯工具

此翻譯工具是一個小型本機工具,提供兩種模式 —— 字母轉數字與數字轉字母 —— 並完全在瀏器中執行,因此不會上傳任何輸入。為了回答 A1Z26 是否保留大小寫這個原始問題,實務上的練習方式是以兩種大小寫對同一個單字進行編碼,並觀察其結果。

  1. 開啟 A1Z26 密碼翻譯工具,選擇字母轉數字
  2. 以混合大小寫輸入 Hello,然後執行翻譯工具,並複製以連字號分隔的數字。
  3. 清除輸入欄,改為輸入全大寫的 HELLO,再次執行翻譯工具,並比較輸出結果。
  4. 確認兩次輸出完全相同 —— 8-5-12-12-15 —— 這便能在實務上證明 A1Z26 並不保留大小寫。
  5. 加入第二個單字(例如 World),以空白分隔,再次執行;觀察現在出現於兩組單字之間的斜線(8-5-12-12-15 / 23-15-18-12-4)。
  6. 切換至數字轉字母,貼上以連字號與斜線組成的輸出,執行後確認解碼結果一律為大寫的 HELLO WORLD,與原始大小寫無關。
  7. 嘗試輸入超出 1–26 範圍的值(例如 0 或 27),以查看解碼器所明確拋出的錯誤,藉此確認其嚴格的範圍檢查。

這些步驟能以實證方式確認大小寫的行為。它們也同時驗證了邊界標記的機制:斜線分隔單字、連字號分隔字母,以及兩個斜線之間的空白群組會被視為錯誤而拒絕。若您希望將一段文字轉換為大小寫具有意義的序列(例如縮寫詞中 HTTPS 的形狀很重要),請勿單獨依賴 A1Z26。應將數值序列視為僅記錄字母的內容,並另外註記哪些字母原為大寫。

在密碼無法保留大小寫時,如何追蹤大小寫資訊

對於大小寫具有意義的謎題,最安全的工作流程是將大小寫視為釋資料,而非密碼輸出的一部分。以下幾種模式在手寫筆記、課堂練習與輕量級謎題分享中皆能穩定運作。

  • 記錄一組平行模式。以單字 Hello 為例,寫下 A1Z26 序列 8-5-12-12-15,並同時記錄一個獨立模式(例如 1-0-0-0-0),用以標示首字大寫。接收端在解碼後再套用該模式,以還原大小寫。
  • 在純文字中為大寫字母加上底線或標記。採用如 H̲ello → 8-5-12-12-15 的慣例,將大寫字母另行標記。這與音韻學中在字母上方標註重音符號的概念相同 —— 一條密碼本身不會觸及的平行管道。
  • 當大小寫屬於謎題的一部分時,改用其他密碼。ROT13、已知位移量的 Caesar 密碼,以及使用宣告金鑰的 Vigenere 密碼,皆能在原生層級保留大小寫。若謎題需要往返保留大小寫,請改用其他密碼,而不是設法將大小寫強加於 A1Z26。

選擇的重點很少是「哪種密碼比較好」,而幾乎總是「這個謎題依賴哪一項特性」。對於字數遊戲、課堂替換練習,以及輕量級數字謎題而言,A1Z26 喪失大小寫的特性其實是一項優勢:它使編碼簡單、可手工逆向,且對接收端而言毫無歧義。對於大小寫屬於謎題一部分的任務,該密碼便是錯誤的工具,而上述的因應之道便會從一次性註記,變成一條永久的額外規則。

A1Z26 其他可預期的特性

大小寫並非 A1Z26 無法保留的唯一特性。此對應同時會捨棄標點符號、數字,以及任何不在 ASCII A 到 Z 範圍內的字元。編碼時重複的空白會被標準化為單一字詞分隔符,因此貼上的 Tab 字元或雙倍空白都不會留存於輸出中。該密碼會保留長度(輸入的字母數等於連字號數加一),以及精確的字母重複(含有兩個 L 的輸入,會在相同位置產生兩個 12)。它不會保留任何金鑰、隨機狀態、完整性檢查或身分驗證。若需要更深入的往返逐步演練,以便在同一段文字上雙向操作此密碼,A1Z26 密碼翻譯實務往返指南詳細展示了每個步驟,並以較長的範例再次確認其大小寫行為。

200,000 個 Unicode 代碼點的輸入上限遠高於一般謎題文字,其目的是在貼上超量內容時仍能維持頁面的回應速度。空字串或僅含空白的輸入會明確拋出錯誤,而不是靜默地產生空字串。這些限制都不會改變對原始問題的核心回答:A1Z26 並不保留大小寫。此格式由其 26 個數值欄位所定義,任何無法容納於這些欄位中的特性 —— 大寫與小寫、標點、數字、帶有變音符號的字母 —— 都會被刻意排除於密碼之外,並在與謎題相關時另行記錄。

延伸閱讀:使用 A1Z26 密碼翻譯工具時避免常見錯誤