How to Write UTF-8 & Unicode Barcodes in C
IronBarcode 讓開發人員能夠將 UTF-8 文字(包括中文、阿拉伯文、泰文及其他國際文字)編碼為 BarCode,使用如 DataMatrix 和 QR 碼 等格式,這些格式原生支援 UTF-8 字元,適用於國際產品標籤。
快速入門:建立採用 DataMatrix 編碼的 Unicode BARCODE using IronBarcode 在一行程式碼內生成包含混合語言 Unicode 文字的 BARCODE,然後將其儲存為圖片。
-
using NuGet 套件管理員安裝 https://www.nuget.org/packages/BarCode
PM > Install-Package BarCode -
請複製並執行此程式碼片段。
var barcode = IronBarCode.BarcodeWriter.CreateBarcode("123 英語 اللغة العربية", IronBarCode.BarcodeWriterEncoding.DataMatrix); barcode.SaveAsImage("unicode.png"); -
部署至您的生產環境進行測試
立即透過免費試用,在您的專案中開始使用 IronBarcode
簡化工作流程(5 個步驟)
- 下載 IronBarcode C# 程式庫,以在 C# 中編寫 Unicode BarCode 條碼
- 將 UTF-8 字元放入字串中
- 將 BarcodeWriterEncoding 屬性設定為 DataMatrix 編碼
- 使用 Unicode 字串透過
CreateBarcode方法 - 使用 SaveAsImage 將 BarCode 儲存為圖片
如何建立包含多種語言的 UTF-8 BARCODE?
IronBarcode 支援以 Unicode(UTF-8 編碼)格式編寫及生成 BARCODE,讓開發人員能夠建立包含多種語言的字串作為 BARCODE 值。 例如,包含中文、阿拉伯文和泰文混合的字串可直接處理。
BarCode 生成功能對全球應用至關重要,其 Unicode 支援能力能協助企業建立適用於不同語言與地區的產品標籤、運送文件及識別系統。 IronBarcode程式庫能無縫處理 UTF-8 編碼的文字,使其成為滿足國際條碼需求的理想解決方案。
以下是我們將用作BarCode值的字串。
string unicodeText = "周態告応立待太記行神正用真最。音日独素円政進任見引際初携食。更火識将回興継時億断保媛全職。文造画念響竹都務済約記求生街東。天体無適立年保輪動元念足総地作靖権瀬内。失文意芸野画美暮実刊切心。感変動技実視高療試意写表重車棟性作家薄井。陸瓶右覧撃稿法真勤振局夘決。任堀記文市物第前兜純響限。囲石整成先尾未展退幹販山令手北結。أم يذكر النفط قبضتهم على, الصين وفنلندا ما حدى. تم لكل أملا المنتصر, ٣٠ حدى مارد القوى. شرسة للسيطرة قامفي. حتى أم يطول المحيط, زهاء وحلفاؤها من فعل. لم قامت الجو الساحلية وتم, ويعزى واقتصار قبل كل۔ภคนทลาพาธสตารเซฟต แชมป มารเกตตงลมเหลวโยเกรต แลนดบาบนอมครม รสโซ แบรนดไคลแมกซ พซซาโมเดลเสอโครง มอบโซนรายชอ แอดมชชน ดอกเตอร พะเรอ มารคเจไดโมจราสเบอรร เอนทรานซออดชนศลปวฒนธรรมเปราะบาง โมจซเรยสวอลนตทรป";
string unicodeText = "周態告応立待太記行神正用真最。音日独素円政進任見引際初携食。更火識将回興継時億断保媛全職。文造画念響竹都務済約記求生街東。天体無適立年保輪動元念足総地作靖権瀬内。失文意芸野画美暮実刊切心。感変動技実視高療試意写表重車棟性作家薄井。陸瓶右覧撃稿法真勤振局夘決。任堀記文市物第前兜純響限。囲石整成先尾未展退幹販山令手北結。أم يذكر النفط قبضتهم على, الصين وفنلندا ما حدى. تم لكل أملا المنتصر, ٣٠ حدى مارد القوى. شرسة للسيطرة قامفي. حتى أم يطول المحيط, زهاء وحلفاؤها من فعل. لم قامت الجو الساحلية وتم, ويعزى واقتصار قبل كل۔ภคนทลาพาธสตารเซฟต แชมป มารเกตตงลมเหลวโยเกรต แลนดบาบนอมครม รสโซ แบรนดไคลแมกซ พซซาโมเดลเสอโครง มอบโซนรายชอ แอดมชชน ดอกเตอร พะเรอ มารคเจไดโมจราสเบอรร เอนทรานซออดชนศลปวฒนธรรมเปราะบาง โมจซเรยสวอลนตทรป";
接著我們呼叫 BarcodeWriter.CreateBarcode 方法來建立所需的 BARCODE。 此方法接受兩個參數:文字內容與編碼格式。 進一步了解如何從各種資料類型(包括 URL、ID 和二進位資料)建立 BARCODE。
:path=/static-assets/barcode/content-code-examples/how-to/writing-in-unicode-write.cs
using IronBarCode;
// Unicode text with Chinese, Arabic and Thai characters
string text = "周態告応立待太記行神正用真最。音日独素円政進任見引際初携食。更火識将回興継時億断保媛全職。文造画念響竹都務済約記求生街東。天体無適立年保輪動元念足総地作靖権瀬内。失文意芸野画美暮実刊切心。感変動技実視高療試意写表重車棟性作家薄井。陸瓶右覧撃稿法真勤振局夘決。任堀記文市物第前兜純響限。囲石整成先尾未展退幹販山令手北結。أم يذكر النفط قبضتهم على, الصين وفنلندا ما حدى. تم لكل أملاً المنتصر, ٣٠ حدى مارد القوى. شرسة للسيطرة قامفي. حتى أم يطول المحيط, زهاء وحلفاؤها من فعل. لم قامت الجو الساحلية وتم, ويعزى واقتصار قبل كل。ภคันทลาพาธสตาร์เซฟตี้ แชมป์ มาร์เก็ตติ้งล้มเหลวโยเกิร์ต แลนด์บาบูนอึมครึม รุสโซ แบรนด์ไคลแม็กซ์ พิซซ่าโมเดลเสือโคร่ง ม็อบโซนรายชื่อ แอดมิชชั่น ด็อกเตอร์ พะเรอ มาร์คเจไดโมจิราสเบอร์รี เอนทรานซ์ออดิชั่นศิลปวัฒนธรรมเปราะบาง โมจิซีเรียสวอลนัตทริป";
// Create a DataMatrix barcode with the specified text
var myBarcode = BarcodeWriter.CreateBarcode(text, BarcodeWriterEncoding.DataMatrix);
// Save the barcode as an image
myBarcode.SaveAsImage("Unicode.jpeg");
Imports IronBarCode
' Unicode text with Chinese, Arabic and Thai characters
Dim text As String = "周態告応立待太記行神正用真最。音日独素円政進任見引際初携食。更火識将回興継時億断保媛全職。文造画念響竹都務済約記求生街東。天体無適立年保輪動元念足総地作靖権瀬内。失文意芸野画美暮実刊切心。感変動技実視高療試意写表重車棟性作家薄井。陸瓶右覧撃稿法真勤振局夘決。任堀記文市物第前兜純響限。囲石整成先尾未展退幹販山令手北結。أم يذكر النفط قبضتهم على, الصين وفنلندا ما حدى. تم لكل أملاً المنتصر, ٣٠ حدى مارد القوى. شرسة للسيطرة قامفي. حتى أم يطول المحيط, زهاء وحلفاؤها من فعل. لم قامت الجو الساحلية وتم, ويعزى واقتصار قبل كل。ภคันทลาพาธสตาร์เซฟตี้ แชมป์ มาร์เก็ตติ้งล้มเหลวโยเกิร์ต แลนด์บาบูนอึมครึม รุสโซ แบรนด์ไคลแม็กซ์ พิซซ่าโมเดลเสือโคร่ง ม็อบโซนรายชื่อ แอดมิชชั่น ด็อกเตอร์ พะเรอ มาร์คเจไดโมจิราสเบอร์รี เอนทรานซ์ออดิชั่นศิลปวัฒนธรรมเปราะบาง โมจิซีเรียสวอลนัตทริป"
' Create a DataMatrix barcode with the specified text
Dim myBarcode = BarcodeWriter.CreateBarcode(text, BarcodeWriterEncoding.DataMatrix)
' Save the barcode as an image
myBarcode.SaveAsImage("Unicode.jpeg")
這是程式碼產生的檔案:
輸出 Unicode BarCode
若需更豐富的樣式選項,您亦可透過自訂 Unicode BARCODE 的顏色、邊距及註解,以符合特定的品牌規範。
哪些 BarCode 類型支援 Unicode 字元?
Unicode 支援程度因 BarCode 類型而異。 僅有部分選定的 BARCODE 格式原生支援 Unicode,並能直接儲存 Unicode 文字,無需透過編碼變通方案。 除了上述已處理的 DataMatrix 編碼外,以下是支援 Unicode 的編碼類型簡要清單。
| BarCode類型 | Unicode 支援 | 最適合 | 最大容量 |
|---|---|---|---|
| QR 碼 | 完整 UTF-8(CJK 地區請使用漢字模式) | 行銷、多語言標籤、ID | 約 3,000 字元(含英數字) |
| Data Matrix | 採用 ECI(擴展通道口譯) | 工業用小型物品標籤 | ~1,556 位元組 |
| PDF417 | 支援 ECI(但掃描器支援有限) | 文件(登機證、身分證) | 約 1,100 位元組 |
| 阿茲特克碼 | 原生 UTF-8 | 行動票券、航空機票 | 約 3,000 字 |
請注意,不同BarCode編碼類型所能容納的字元數量有所差異。 例如,若將上述字串用於 PDF417 則無法運作,因為其中包含超過 500 個 Unicode 字元。 在此情況下,您需要實施一個解決方案來使其正常運作。 因此,請務必注意字串的長度。
上述列出的BarCode類型皆可透過 BarcodeWriterEncoding 取得。
如需 BarcodeWriterEncoding 所有可用 BarCode 編碼類型的完整清單,請參閱我們的"[支援 BarCode 格式"文件](https://ironsoftware.com/csharp/barcode/get-started/supported-barcode-format ...),以了解 IronBarcode 對 Unicode 的完整支援功能。
Unicode BarCode 生成的最佳實務
處理 Unicode BARCODE 時,請考量以下重要因素:
- 字元編碼:在生成 BARCODE 前,請務必確保原始文字已正確採用 UTF-8 編碼
- 掃描器相容性:請確認您的 BarCode 掃描器是否支援您所選 BarCode 類型的 Unicode 解碼
- 資料大小:請留意 Unicode 文字的位元組大小,因為中文或阿拉伯文等字元通常每個需要 2 至 3 個位元組
- 錯誤修正:針對關鍵應用,請使用較高的錯誤修正等級以確保可靠的掃描效果
關於 QR 碼生成,請參閱我們詳盡的 C# QR 碼生成器教學,其中包含進階的 Unicode 處理技術。
How Do I Read Unicode Barcodes in C#?
除了支援 Unicode 編碼外,IronBarcode 亦支援讀取 Unicode BarCode。 要讀取 BARCODE,我們使用 BarcodeReader 類別中的 Read 方法,並將提供的參數設為 Unicode BARCODE。
以下是一個使用上述
的簡短範例:
:path=/static-assets/barcode/content-code-examples/how-to/writing-in-unicode-read.cs
using IronBarCode;
using System.IO;
// Reading the Unicode barcode
BarcodeResults result = BarcodeReader.Read("Unicode.jpeg");
// Output the text value from the barcode to a txt file
File.WriteAllText("text.txt", result[0].Text);
Imports IronBarCode
Imports System.IO
' Reading the Unicode barcode
Dim result As BarcodeResults = BarcodeReader.Read("Unicode.jpeg")
' Output the text value from the barcode to a txt file
File.WriteAllText("text.txt", result(0).Text)
請注意,雖然您可以使用 Console.WriteLine 將文字值輸出至終端機,但終端機本身並不原生支援顯示 Unicode 字元,需要額外設定。在此範例中,我們改為將輸出導向 txt 檔案。
輸出

Unicode BarCode 的常見應用情境
Unicode BarCode 生成技術在全球各產業中擁有眾多實用應用:
- 國際產品標籤:製作可顯示多國語言資訊的產品標籤,以供全球分銷
- 物流與運送:生成包含本地文字地址的運送標籤,以確保國際配送的準確性
- 醫療保健:將包含姓名在內的病患資訊以原生語言編碼,用於醫療紀錄及處方箋
- 活動管理:建立包含與會者姓名(以原生文字呈現)的門票與通行證
- 文件管理:產生包含多種語言元資料的文件識別碼
若需進行更進階的 BARCODE 操作,請參閱我們的 API 參考文件,以探索 IronBarcode 對 Unicode 支援的完整功能。
常見問題
為什麼我需要生成Unicode條碼?
生成Unicode條碼是支援國際語言如中文、阿拉伯文等的重要環節,允許企業跨區域運營並有效地與多樣受眾溝通。
IronBarcode能處理Unicode字符嗎?
可以,IronBarcode支持生成含Unicode字符的條碼,能夠編碼多種國際語言中的文本,包括中文和阿拉伯文。
使用IronBarcode創建的Unicode字符條碼有哪些類型?
使用IronBarcode,您可以創建多種類型的條碼,如QR碼和Code 128,使用Unicode字符。這種靈活性非常適合需要國際化的應用程式。
IronBarcode中的Unicode條碼外觀可以自定義嗎?
可以,IronBarcode允許您自定義Unicode條碼的外觀,包括大小、顏色和文字字體,以確保條碼符合您的特定設計和品牌要求。
我需要特殊軟體來讀取IronBarcode創建的Unicode條碼嗎?
不需要特殊軟體來讀取IronBarcode創建的Unicode條碼。標準條碼掃描器和能夠讀取特定條碼格式的軟體應用程序都可以解讀它們。
我可以生成包含Unicode和ASCII字符的混合條碼嗎?
可以,IronBarcode支持生成包含Unicode和ASCII字符混合的條碼,提供了在編碼廣泛數據範圍方面的靈活性。
IronBarcode如何處理如阿拉伯語這樣的RTL(從右到左)語言?
IronBarcode能夠處理如阿拉伯語這樣的從右到左的語言,正確編碼生成條碼中的文本方向,確保準確表示和可讀性。
使用IronBarcode生成Unicode條碼有哪些優勢?
IronBarcode提供了易於使用、與各種條碼格式的兼容性、支援國際語言以及自定義選項,使其成為生成Unicode條碼的理想選擇。
我可以在IronBarcode中將多少字符編碼到Unicode條碼中?
您可以在IronBarcode中將多少字符編碼進Unicode條碼,取決於條碼類型和大小。然而,IronBarcode設計高效處理大量數據。
IronBarcode能否為桌面和移動應用程式生成條碼?
可以,IronBarcode能生成適用於桌面和移動應用程式的條碼,提供跨不同平台和設備的多功能性。

