我正在尝试使用zxing条码扫描库读取EAN128条码。我正在Xamarin共享项目中使用它,例如……>
的文本属性不包含特殊字符。private async void OnButtonForBarcodeReadPressed(object sender, EventArgs e) { ZXingScannerPage scannerPage = new ZXingScannerPage(); scannerPage.OnScanResult += (result) => { scannerPage.IsScanning = false; var rawBytes = result.RawBytes; var barcodeType = result.BarcodeFormat.ToString(); var barcodeText = result.Text; }; }
问题是结果
我注意到结果
的属性RawBytes(它是一个字节数组)对于每个特殊字符在正确的位置都有一个字节102,但我似乎无法理解其余的字节已计算。这里是一个例子。我生成了EAN128条码(21)500600(11)201201
。我是使用在线条形码生成器完成的,所以我确定在正确的位置有一个特殊字符!当我用zxing扫描它时,结果的文本属性是“ 2150060011201201”,长度恰好是16个字符,因此不包含特殊字符。以及RawBytes属性中字节数组的this is an image。如您所见,每个应用程序标识符之前都有一个字节102。但是其余的似乎有点不足。而且,当您在条形码中添加字母时,会更加令人困惑。是否有一种方法可以从属性RawBytes
中获取带有特殊字符的正确条形码文本,或者是否可以配置zxing以便Text属性包含特殊字符?我正在尝试使用zxing条码扫描库读取EAN128条码。而且我正在Xamarin共享项目中使用它,例如……私有异步void OnButtonForBarcodeReadPressed(object sender,...
您需要设置ScanningOptions的BarcodeFormat