如何使用zxing条码扫描库解码EAN128条码

问题描述 投票:0回答:1

我正在尝试使用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,...

xamarin xamarin.forms barcode zxing barcode-scanner
1个回答
0
投票

您需要设置ScanningOptions的BarcodeFormat

© www.soinside.com 2019 - 2024. All rights reserved.