How to Write UTF-8 & Unicode Barcodes in C
IronBarcode 允许开发者将 UTF-8 文本(包括中文、阿拉伯文、泰文及其他国际字符集)编码为 BARCODE,采用 DataMatrix 和 二维码 等格式,这些格式原生支持 UTF-8 字符,适用于国际产品标签。
快速入门:使用DataMatrix编码创建Unicode条形码
使用 IronBarcode 在一行中生成包含混合语言 Unicode 文本的条形码,然后将其保存为图像。
-
使用 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条形码
- 将 UTF-8 字符放入字符串
- 将BarcodeWriterEncoding属性设置为DataMatrix编码
- 使用
CreateBarcode方法用 Unicode 字符串生成条形码 - 使用SaveAsImage将条形码另存为图像。
如何创建带有混合语言的UTF-8条形码?
IronBarcode支持书写和生成Unicode(UTF-8编码)的条形码,使开发者可以创建包含多种语言的字符串作为条形码值。 例如,可以直接处理包含中文、阿拉伯文和泰文的混合字符串。
条形码生成中的 Unicode 支持对于全球应用至关重要,它使企业能够创建跨不同语言和地区的产品标签、运输文件和识别系统。 IronBarcode 库可无缝处理 UTF-8 编码文本,是满足国际条形码要求的理想解决方案。
下面这个字符串将用作条形码值。
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 条形码
如需增强样式选项,您还可以自定义 Unicode BarCode 的颜色、页边距和注释,以满足特定的品牌要求。
哪些条形码类型支持 Unicode 字符?
对 Unicode 的支持因 BarCode 类型而异。 只有选定的条形码格式原生支持 Unicode,并可直接存储 Unicode 文本,而无需使用编码变通方法。 除了上文提到的 DataMatrix 编码外,以下是支持 Unicode 的编码类型简要列表。
| 条形码类型 | Unicode 支持 | 最适合 | 最大容量 |
|---|---|---|---|
| 二维码 | 全 UTF-8 编码(中日韩汉字模式) | 市场营销、多语言标签、ID | 约3000个字符(字母数字) |
| Data Matrix | 采用 ECI(扩展通道解释) | 工业小件标签 | 约 1,556 字节 |
| PDF417 | 支持ECI(但扫描仪支持有限) | 文件(登机牌、身份证) | 约 1100 字节 |
| Aztec Code | 原生 UTF-8 | 电子机票、航空通行证 | 约3000个字符 |
请注意每种条形码编码类型可容纳的字符数量不同。 例如,将上面的字符串与 PDF417 一起使用是行不通的,因为它包含超过 500 个 Unicode 字符。 在这种情况下,你需要采取一些变通办法才能使其正常工作。 因此,记录绳子的长度很重要。
上述列出的BarCode类型均可通过 BarcodeWriterEncoding 获取。
如需查看 BarcodeWriterEncoding 提供的所有可用 BarCode 编码类型的完整列表,请参阅我们的[支持 BarCode 格式文档](https://ironsoftware.com/csharp/barcode/get-started/supported-barcode-format ...),以了解 IronBarcode 对 Unicode 支持的全部功能。
生成 Unicode BarCode 的最佳实践
在使用 Unicode BarCode 时,请考虑这些重要因素:
- 字符编码:始终确保您的源文本在生成条形码之前正确地进行UTF-8编码
- 扫描仪兼容性:验证您的条形码扫描仪是否支持所选条形码类型的Unicode解码
- 数据大小:监视Unicode文本的字节大小,因为像中文或阿拉伯文这样的字符通常需要2-3个字节
- 错误校正:对于关键应用程序,请使用更高的错误校正级别以确保可靠的扫描
具体到 QR 代码生成,请查看我们全面的 C# QR 代码生成器教程,其中包括高级 Unicode 处理技术。
How Do I Read Unicode Barcodes in C#?
除了使用 Unicode 书写外,IronBarcode 还支持 读取 Unicode 条形码。 要读取 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 生成在全球各行各业都有大量实际应用:
- 国际产品标签:创建展示多语言信息的产品标签以用于全球分发
- 物流和运输:生成带有本地化地址的运单,确保准确的国际递送
- 医疗保健:编码患者信息,包括姓名以本地语言,用于医疗记录和处方
- 活动管理:创建带有与会者本地文字姓名的票证和通行证
- 文档管理:生成包含多语言元数据的文档标识符
如需了解更多高级条码操作,请浏览我们的 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可以生成适用于桌面和移动应用程序的条形码,为不同平台和设备提供多样性。

