C# 如何使用ESC POS编写通用qrcode?

C# 如何使用ESC POS编写通用qrcode?,c#,thermal-printer,escpos,C#,Thermal Printer,Escpos,我正在使用ESC/POS命令开发QRCODE打印。 但是,我无法生成超过127个字符的qrcode 遵循C#中的代码: string ESC = Convert.ToString((char)27); string GS = Convert.ToString((char)29); string center = ESC + "a" + (char)1; //align center string left = ESC +

我正在使用ESC/POS命令开发QRCODE打印。 但是,我无法生成超过127个字符的qrcode

遵循C#中的代码:

   string ESC = Convert.ToString((char)27);
    
   string GS = Convert.ToString((char)29);
    
   string center = ESC + "a" + (char)1; //align center
    
   string left = ESC + "a" + (char)0; //align left
    
   string bold_on = ESC + "E" + (char)1; //turn on bold mode
    
   string bold_off = ESC + "E" + (char)0; //turn off bold mode
    
   string cut = ESC + "d" + (char)1 + GS + "V" + (char)66;

   string initp = ESC + (char)64; //initialize printer

   string buffer = ""; //store all the data that want to be printed
   string QrData = "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"; //data to be print in QR code

   Encoding m_encoding = Encoding.GetEncoding("iso-8859-1"); //set encoding for QRCode
   int store_len = (QrData).Length + 3;
   byte store_pL = (byte)(store_len % 256);
   byte store_pH = (byte)(store_len / 256);

   buffer += initp; //initialize printer
   buffer += m_encoding.GetString(new byte[] { 29, 40, 107, 4, 0, 49, 65, 50, 0 });
   buffer += m_encoding.GetString(new byte[] { 29, 40, 107, 3, 0, 49, 67, 8 });
   buffer += m_encoding.GetString(new byte[] { 29, 40, 107, 3, 0, 49, 69, 48 });
   buffer += m_encoding.GetString(new byte[] { 29, 40, 107, store_pL, store_pH, 49, 80, 48 });
   buffer += QrData;
   buffer += m_encoding.GetString(new byte[] { 29, 40, 107, 3, 0, 49, 81, 48 });
   buffer += cut + initp;

为了生成qrcode字符串,我将字符串写入文件并将其打印。

这是因为它使用字符串变量

即使指定了编码,也不可能总是将值为0x80或更高的字符数据转换为正确的字节值

如果只使用字节数组,则可以使用长数据


并非所有内容都可以被视为在单个代码页中编码的文本

这是因为包含控制代码(如条形码打印)的命令很可能包含无法作为字符串文本处理的数据

但是,文本和条形码打印可以混合使用。文本数据可以作为编码的二进制数据(而不是字符串)写入文件


如果有另一个程序从文件中读取数据并将其写入打印机,则该程序必须以二进制数据文件的形式打开该文件。

hi@kunif,问题是我所有的打印都是通过txt文件完成的。所以你告诉我的是我必须放弃用txt和字节打印?