I am creating data strings for Data Matrix barcodes that are compliant with ANSI spec MH10.8.2-2016. The data string must incorporate a specific format that includes the Record Separator character (ASCII code 30 - hex 1E), the Group Separator character (ASCII code 29 - hex 1D), and the End of Transmission character (ASCII code 4 - hex 04.) However, since version 6.1.1, I discovered that if you add the Group Separator character into the data string, when Spire.Barcode generates the Data Matrix the Group Separator character encoded is instead the File Separator character (ASCII code 28 - hex 1C). Below is sample code to generate the barcode, and I've included images of the generated barcode and the hex dump of the scanned data string demonstrating how Spire.Barcode is replacing character 29 with character 28.
var rs = char.ConvertFromUtf32(30);
var gs = char.ConvertFromUtf32(29);
var eot = char.ConvertFromUtf32(4);
BarcodeSettings bs = new BarcodeSettings();
bs.X = 2;
bs.Type = BarCodeType.DataMatrix;
bs.DataMatrixSymbolShape = DataMatrixSymbolShape.Square;
bs.ShowText = false;
var dataString = "[)>" + rs + "06" + gs + "P8675309" + gs + "Q1" + rs + eot;
bs.ShowText = true;
bs.AutoResize = true;
string filename = "Test.png";
BarCodeGenerator bg = new BarCodeGenerator(bs);
bs.Data2D = dataString;
bs.Data = dataString;
bg.GenerateImage().Save(filename);
System.Diagnostics.Process.Start(filename);
Until this issue is fixed, we have reverted to version 6.1.1.