在 上一篇文章 中,您了解瞭如何使用 C# 生成和讀取不同類型的條形碼。但是,在某些情況下,您必須處理非英文字符。例如,當您使用阿拉伯語、拉丁語、希臘語或類似語言時。在這種情況下,您可能需要將字符編碼為 Unicode 標準,即 UTF-8。據此,本文介紹瞭如何在 C# 中使用 UTF-8 編碼生成和讀取條形碼。
使用 UTF-8 編碼生成條形碼的 C# API
Aspose.BarCode for .NET 是一個強大的 C# API,用於條碼生成和識別。使用 API,您可以使用範圍廣泛的條碼符號。此外,API 支持使用 UTF-8 編碼生成條形碼。您可以 下載 API 或使用 NuGet 安裝它。
PM> Install-Package Aspose.BarCode
在 C# 中使用 UTF-8 編碼生成條碼
以下是使用 UTF-8 編碼生成條形碼的步驟。
- 首先,創建一個 BarcodeGenerator 類的實例並使用 EncodeTypes 指定條碼類型。
- 使用 BarcodeGenerator.CodeText 屬性設置條碼的文本。
- 使用 BarcodeGenerator.Parameters.Barcode.QR.CodeTextEncoding 屬性設置 UTF-8 文本編碼(根據您在 BarcodeGenerator 構造函數中指定的條碼類型替換 QR)。
- 使用 BarcodeGenerator.GenerateBarCodeImage() 方法生成條形碼並將返回的圖像保存到 Bitmap 對像中。
- 最後,使用 Bitmap.Save(String) 方法將條碼圖像保存為文件。
以下代碼示例展示瞭如何在 C# 中使用 UTF-8 編碼生成條形碼。
// 創建條形碼生成器
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Pdf417);
// 設置條碼文字
generator.CodeText = "منحة";
// 設置分辨率
generator.Parameters.Resolution = 400;
// 設置編碼類型
generator.Parameters.Barcode.Pdf417.CodeTextEncoding = Encoding.UTF8;
// 生成條形碼
Bitmap imgBarcode = generator.GenerateBarCodeImage();
// 保存條碼圖像
imgBarcode.Save("generate-barcode.png");
使用 C# 讀取 UTF-8 編碼的條形碼
下面是使用C#識別UTF-8編碼條碼的步驟。
- 使用 BarCodeReader 類加載條碼圖像。
- 遍歷 BarCodeReader.ReadBarCodes() 方法返回的每個 BarCodeResult。
- 創建一個 Encoding 類的對象並將編碼設置為 UTF-8。
- 從 BarCodeResult 對象返回的字節中獲取 char 數組。
- 從字符構建 Unicode 字符串以獲取條形碼文本。
- 最後,打印檢索到的條形碼文本。
以下代碼示例展示瞭如何在 C# 中使用 UTF-8 編碼識別條形碼。
// 識別上面的條形碼
using (BarCodeReader reader = new BarCodeReader("generate-barcode.png"))
{
// 讀取條形碼
foreach (BarCodeResult result in reader.ReadBarCodes())
{
// 設置編碼
Encoding unicode = Encoding.UTF8;
// 從字節中獲取字符數組
char[] unicodeChars = new char[unicode.GetCharCount(result.CodeBytes, 0, result.CodeBytes.Length)];
unicode.GetChars(result.CodeBytes, 0, result.CodeBytes.Length, unicodeChars, 0);
// 構建 unicode 字符串
string strCodeText = new string(unicodeChars);
Console.WriteLine(strCodeText);
}
}
獲取免費的 API 許可證
如果您有興趣嘗試和使用 API,您可以獲得免費的臨時許可證。
結論
在本文中,您了解瞭如何在 C# 中使用 UTF-8 編碼生成條形碼。此外,您還了解瞭如何識別和閱讀 UTF-8 編碼的條形碼。您可以使用 文檔 探索有關 C# 條形碼 API 的更多信息。