Code 128 vs Code 39 條碼差異完整解析 (2026)

A modern, sleek comparison of two barcode styles representing efficiency and legacy

只要你的工作會接觸到條碼——無論是物流、醫療、製造或零售——大概都用過 Code 128Code 39 這兩種格式。它們是當前最常見的兩種一維條碼,到了 2026 年,兩者之間的選擇關鍵仍然是:你需要編碼多少資料,以及標籤上還有多少空間

Code 128 是現代標準:高密度、完整支援 ASCII,並強制使用檢查碼。Code 39 則是較舊、較簡單的替代方案,短字串時還算堪用,但資料一長就會變得笨重。本文將逐步拆解兩者差異,幫你選出最適合的條碼格式。

Code 128 vs Code 39 快速總覽

功能 Code 128 Code 39
資料密度 — 在更小空間內塞入更多資料 低 — 資料一多就變得很寬
字元集 完整 128 ASCII 字元 43 個字元(大寫字母、數字、少數符號)
小寫字母支援 原生支援 僅能透過「Extended」模式(條碼長度加倍)
檢查碼 強制 (Modulo 103) 選用
條/空白寬度 4 種寬度 (1、2、3、4 單位) 2 種寬度(窄與寬)
最適用於 物流、出貨、複雜資料 簡單內部追蹤、舊有系統

實體佔地的差距相當驚人。根據 Peak Technologies 的建議,當你的資料字串超過 15 個字元時,就應該從 Code 39 改用 Code 128。一個 20 字元的編號若用 Code 39,可能連標準的 2 吋標籤都貼不下;同樣的編號用 Code 128 卻能保持緊湊。

並排比例比較圖,顯示相同資料下 Code 128 比 Code 39 短得多

現代的掃描器(面陣影像器與智慧型手機 App)讀取這兩種格式都很輕鬆。但 Code 128 在可靠性上更勝一籌,因為它內建的錯誤偵測機制能在高掃描量環境中避免誤讀。

資料密度:為什麼重要

資料密度指的是一英吋條碼長度內可容納多少字元。維基百科說明,Code 128 的條與空白使用了四種不同寬度,而 Code 39 只用兩種。這種精確度讓 Code 128 在處理數值資料時,密度大約是 Code 39 的兩倍——對於藥用小玻璃瓶或小型電子零件這類必須微型化的一維條碼應用,Code 128 往往是唯一可行的選擇。

字元支援

  • Code 39(標準版): 43 個字元——大寫 A–Z、數字 0–9,以及少數符號(-、.、$、/、+、%、空格)。
  • Code 128: 完整 128 ASCII 字元——大寫、小寫、符號,甚至包含歸位(carriage return)等控制字元。
  • Code 39 Extended: 可透過成對字元編碼小寫字母(例如以「+A」代表小寫「a」),但如同 Peak Technologies 所指出,這種做法「相當浪費空間」,會讓條碼變得不必要地長。

為什麼 Code 128 是現代物流的標準

Code 128 透過 GS1-128 標準驅動全球物流運作,該標準使用「應用識別碼(Application Identifiers)」來結構化批號、有效期限與序號等資料。

強制檢查碼(Modulo 103)

在 Code 39 中,檢查碼是選用的;但在 Code 128 中,它是內建的——條碼會附加一個運算出來的數值,掃描器每次讀取都會加以驗證。這幾乎消除了在繁忙倉庫中「掃錯」的風險。

透過 Code Set A、B、C 達到最佳化

Code 128 透過在三種內部模式間切換,來維持緊湊的尺寸:

Code Set 最佳化用途 主要優勢
A 大寫字母 + 控制碼 工業應用
B 標準英數字元 + 小寫 通用文字
C 純數值資料 每個符號容納兩位數——處理數字最有效率

維基百科說明,Code Set C 可將兩位數打包進單一條碼符號中。對於冗長的數值字串來說,這種效率極為驚人。Steven Skiena 的研究顯示,聰明地選擇 Code Set,平均能讓條碼比使用靜態設定時縮小 8%

簡明示意圖,展示 Code Set C 如何把兩位數配對成單一符號

Code 39 還有用嗎?

到了 2026 年,Code 39 依然有它的一席之地,因為它簡單且容錯性高。它具備「自我檢查(self-checking)」特性——字元之間的間距有助於隔離錯誤——因此與低解析度印表機或舊型工業掃描器搭配運作時相當順手。

至今仍可見到 Code 39 的場域包括:
美國國防部(LOGMARS 標準)
醫療業內部追蹤
汽車業舊有系統

問題出在 Code 39 Extended。要編碼單一小寫「a」,就得印出「+A」——直接讓條碼長度加倍。如果你的追蹤編號會混用大小寫字母,Code 39 Extended 並不是好選擇。

技術規格:X-Dimension 與留白區

條碼掃描得好不好,取決於 X-dimension——也就是最窄那條 bar 的寬度。根據 GS1 2026 標準,零售結帳掃描的最低 X-dimension 為 0.264 mm (0.0104 inches)

這兩種格式也都需要 Quiet Zone(留白區)——條碼兩端的空白白色區域,寬度至少為最窄 bar 寬度的 10 倍。少了這塊留白,掃描器就無法判斷條碼從哪裡開始、到哪裡結束。

掃描器相容性

掃描器類型 最適合搭配 備註
雷射掃描器 較長、較高的條碼 需要雷射光路徑完整橫越所有 bar
面陣影像器(2026 標準) 兩種格式皆可,含高密度 Code 128 可讀取受損或傾斜的標籤
智慧型手機相機 兩種皆可 iOS/Android 原生支援

根據 Gitnux 2024 的資料,零售業佔了全球每日掃描量的 42%——這正是業界持續朝向更可靠的面陣影像標準發展的原因。

結論

Code 39 適用於簡單、短小的內部追蹤編號——尤其是搭配舊型掃描器的舊有系統。Code 128 則是其他情境的明確首選:它更小、支援更多字元、內建強制錯誤檢查,更是現代物流的骨幹。

決策準則:
– 資料少於 10–15 個字元、僅含大寫 → Code 39 可接受
– 資料更長,或包含大小寫/符號 → Code 128
– 需符合 GS1-128 規範 → Code 128(別無選擇)

設計標籤時,請確保最窄的 bar 符合 0.264 mm GS1 標準,以確保條碼在全球各地都能被順利讀取。

常見問題

Code 39 能編碼小寫字母嗎?

標準 Code 39 僅支援大寫字母、數字與少數符號。要編碼小寫字母,需要使用 Code 39 Extended,它透過成對字元來表示(例如「+A」代表「a」)。這會大幅增加條碼的實體長度,效率遠低於 Code 128。

為什麼 Code 128 比 Code 39 更「密」?

Code 128 使用四種 bar/空白寬度(Code 39 僅兩種),而且它的 Code Set C 能在單一符號內編碼兩位數。這讓 Code 128 在處理數值資料時,密度大約是 Code 39 的兩倍,能有效節省寶貴的標籤空間。

Code 39 條碼需要檢查碼嗎?

對 Code 39 來說是選用的,但在高風險環境中建議使用。Code 128 則將 Modulo 103 強制檢查碼內建於規格中,因此在高掃描量場合天生就更具可靠性。

哪種條碼比較適合標籤空間有限的小型物品?

Code 128——它的密度更高,意味著在同樣的實體空間內,你可以用更大的 X-dimension(掃描器更容易讀取)來列印;若換成 Code 39,同樣的空間會被擠得滿滿、難以掃描。

留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *