다음 코드는 예상대로 작동한다 : 가 비 encodable 문자 검출 : (유니 코드 : 132) 은 또한 난을 디코딩
는
[Test]
public void Hex2Pdf417()
{
var hexStr = "fe3009333137303130323031f9200134fe300120fc2006";
var byteArray = Enumerable.Range(0, hexStr.Length/2).Select(x => Convert.ToByte(hexStr.Substring(x * 2, 2), 16)).ToArray();
var byteArrayAsString = new String(byteArray.Select(b => (char)b).ToArray());
// encode the string as PDF417
var writer = new BarcodeWriter
{
Format = BarcodeFormat.PDF_417,
Options = new PDF417EncodingOptions
{
Height = 200,
Width = 200,
Margin = 10
}
};
var bitmap = writer.Write(byteArrayAsString);
// try to decode the PDF417
var reader = new BarcodeReader
{
Options = new DecodingOptions
{
PossibleFormats = new List<BarcodeFormat>
{
BarcodeFormat.PDF_417
},
PureBarcode = true
}
};
var result = reader.Decode(bitmap);
// make sure, the result is the same as the original hex
var resultBackToBytes = result.Text.Select(c => (byte)c).ToArray();
var resultAsHexString = String.Join("", resultBackToBytes.Select(b => b.ToString("x2")));
Assert.That(resultAsHexString, Is.EqualTo(hexStr));
}
CP850에서 '81'과 같은 일부 HEX 오류를 발생 barcode here online-barcode-reader.inliteresearch.com, 저장된 HEX 데이터가 원래 HEX가 아님을 보여줍니다. "FE"는 "5F"로 저장됩니다. – user3236231
몇 가지 작은 오류 때문에 ZXing.Net의 현재 버전 0.14의 모든 상황에서 코드가 올바르게 작동하지 않습니다. – Michael
고마워요! 소스 코드의 현재 버전과 완벽하게 작동합니다! 자체 https://github.com/micjahn/ZXing.Net/에서 컴파일! – user3236231