1

내 IOS 응용 프로그램 내에서 Code39 바코드를 스캔하는 타사 스캐닝 라이브러리를 사용하고 있습니다. 이 소프트웨어는 때로는 스캔을 잘못 가져옵니다 (예 : '13415566'의 값이 'U *'로 표시됨). 때로는 동일한 바코드가 정상적으로 작동하고 동일한 코드를 다시 스캔하면 틀립니다.바코드 Code39 스캔이 안정적입니까?

타사 소프트웨어 공급 업체는 Code39가 '신뢰할 수있는'형식이 아니며 '오류 방지 기능이 없으며 종종 잘못된 읽기가 가능합니다'라고 알려줍니다.

이것은 나에게 어리 석다. 문제의 코드는 확인 숫자가 없지만 스캐닝 소프트웨어의 버그 일뿐입니다. Code39는 이런 종류의 것으로 알려져 있습니까? 때로는 잘못 이해하게되면 어떻게 채택 된 형식이 될 수 있습니까?

감사합니다.

+0

코드 39에 대한 위키 백과 문서를 읽는다면 벤더에 요점이 있음을 알 수 있습니다. 필자는 티켓 스캐닝에서 이러한 종류의 코드에 대한 개인적인 경험을 가지고 있으며, 전문 스캐너의 경우 몇 %의 오류율을 보이는 것이 일반적입니다. 이들은 레이저가있는 장치입니다. 때로는 바코드가 아닌 것들에 짧은 바코드가 표시됩니다 (예 : 청바지를 스캔 해보십시오). 소프트웨어는 일반적으로 레이저보다 성능이 떨어집니다 ... – 576i

답변

4

코드 39의 가독성에 중대한 문제가 없어야합니다. 신뢰할 수있는 스캐닝이 중요한 응용 프로그램에서 사용되는 경우 코드 39는 일반적으로 스캐너가 시스템에 코드를 전달하기 전에 확인하도록 구성된 모듈 식 검사 숫자 형식으로 오 류 방지 장치와 함께 배포됩니다. 절반 수준의 바코드 생성기 또는 바코드 리더는 Code 39 체크 숫자를 지원합니다.

스캐닝중인 코드 39 바코드의 인쇄 품질을 보지 못했지만 확신 할 수 없지만 코드 39 스캔 품질이 매우 떨어지는 판독기 소프트웨어를 사용하는 것이 좋습니다. 나는 online barcode generator를 사용하여 만든 기반으로 한 두 개의 코드 39 개 이미지를 정렬 한 아래

바코드 라이브러리는 아마도 다음과 같은 이유로 혼동되지만 장치의 광범위한 디버깅하지 않고 확인하는 것은 불가능 ...

Barcode Writer in Pure PostScript에 있습니다. 상단에는 "U"가 포함 된 가로로 뒤집힌 이미지가 있고 그 아래에는 "13415566"이 포함 된 이미지가 있습니다. 에서 상단 이미지를 읽기

Two code 39 barcodes aligned

오른쪽에서 왼쪽은 아래 이미지의 어떤 부분과 유사성의 정도가 있음을 알 수있다.

스캐너

는 이에 대해 다음과 같은 것을 제외하고는이 보호되지 않은 코드 39의 오독 용서 될 수 있습니다 그것은 선도 시작하기 전에 꽤 영역 (공백)을 기대한다

  • 하는 순서를 바.
  • 트레일 링 스톱 바 시퀀스 다음에 꽤 존이 있어야합니다.
  • "U"의 막대 패턴이 완전히 올바르지 않습니다.
  • 예상되는 중지 막대 시퀀스가 ​​완전히 올바르지 않습니다.
+1

필자는 반드시 스캐너를 비난해야한다고 생각하지 않습니다. 위와 아래에 공백이있는 바코드로 인쇄 된 경우 상단에 들어가고 하단을 떠나는 대각선 또는 그 반대의 경우에 코드 39의 바코드를 볼 수있는 코드 39 시퀀스를 구성 할 수 있습니다. 가짜 데이터를 나타냅니다. 대부분의 인물 조합은 그러한 오독에 도움이되지 않지만, 오독 될 수있는 조합은 다른 어떤 것보다 특히 발생할 가능성이 적습니다. – supercat

1

많은 바코드 스캐너가 한 줄로 흑백 섹션을 읽습니다. 그들은 선이 수평, 수직 또는 대각선인지 여부에 대한 단서가없고 선이 한쪽면에 바코드를 입력하고 다른면에 바코드가 들어가는 지 또는 위쪽을 통해 들어가는지를 알 수있는 고유 한 방법이 없습니다. 바코드는 대각선으로, 하단을 통해 나옵니다.

Interleaved 2 of 5와 같은 일부 바코드 형식은 바코드 [BwBw로 시작하고 BBwB로 끝남]에서 일반적으로 발생할 수있는 패턴으로 시작하고 끝나며 부분 위로 벗어난 부분 스캔은 또는 하단이 오타가 될 수있는 것처럼 짧은 코드의 유효한 스캔이었습니다.일부 다른 바코드 형식은 부분 스캔이 유효한 데이터로 읽을 수있는 방법이 없도록 선택한 패턴으로 시작하고 끝납니다. 39 번 코드가 중간에 있습니다.

모든 유효한 코드 39 바코드는 BwBBwBBwwBw로 시작하고 wBwBBwBBwwB로 끝납니다. 순서 wBwBB를 한 문자의 끝 부분에 표시하고 BBwwBw를 다음 문자의 시작 부분에 나타나도록 할 수 있으며 그 사이에 단일 "w"가 붙습니다. 이러한 두 쌍의 문자가 바코드 내에 나타나면 그 사이에 제한된 다양한 문자가 나타나고 스캔은 올바른 위치에서 첫 번째 쌍을 빠져 나와 마찬가지로 올바른 위치에서 두 번째 쌍을 빠져 나옵니다. 스캐너가 합법적으로 형성된 바코드가 내용과 뚜렷한 유사성을 갖지는 않습니다. 고의로 바코드 데이터를 선택한 사람이 필요한 기준을 충족하고 잘못된 읽기를 생성하기 위해 비스듬하게 스캔하려했으나 많은 스캐너에서 잘못된 읽기를 얻는 데는 거의 문제가 없었지만 데이터와 스캔 각도는 모두 "올바르게" 문제를 일으킬 수 있습니다.

위와 같은 오류의 가능성에 대해 우려하는 사람은 바코드를 인쇄하여 코드를 벗어나는 스캔이 유효하지 않은 것으로 보증 할 수 있습니다. 이 작업을 수행하는 간단한 방법은 바코드 위아래로 검정색을 인쇄하는 것이므로 맨 위나 맨 아래로 들어가거나 나가는 스캔은 코드를 시작으로 인식하거나 예외적으로 두꺼운 검은 색 막대로 끝내는 것으로 인식합니다. "쌓인"바코드를 보는 많은 곳에서 정보를 보유하지 않는 도트 패턴으로 분리되지만 한 행에서 다른 행으로 교차하는 스캔을 유효한 것으로 인식 할 수 없도록 설계되었습니다.