본문 바로가기

디지털포렌식(Digital forensic)/숫자

[파일] EAN-13 바코드 만들기

반응형

출처:GS 리테일

바코드(barcode)는 사람이 숫자를 입력하지 않고, 제품 표면에 인쇄된 특수 코드를 스캐너로
손쉽게 계산기가 읽을
수 있도록 개발된 코드이다.
서로 굵기가 다른 Black, White Space로 조합시켜 만들어져있다.
이런 타입의 바코드를 선형(1차원) 바코드라고 한다. 1차원 바코드는 많은 정보를 담아내기 어려워
매트릭스(2차원) 코드가 개발되었으며, QR코드와 같은 형태의 4각형, 6각형, 다각형 배열의 점의 바코드가 있다.

1차원 코드에는 CODE11, CODE39, CODE93, CODE128 등이 있다.

최근에는 EAN13으로 통일화가 됐다.

EAN-13은 유럽에서 가장 흔히 사용되고 있으며
미국의 UPC-A 바코드와 동일한 코드의 유럽형 버전이다.
EAN의미는 European Article Number(유럽 상품 코드)를 나타낸다.
IAN(International Article Number) 국제 상품 번호라고도 말한다.

 

EAN-13 바코드에는 12자릿수가 저장되는 UPC-A 코드와 대조적으로 총 13개의 자릿수가 저장된다.
처음 2개 자릿수는 GS1 접두어로, 제품의 원산지를 나타낸다.
그 다음 5개 자릿수는 브랜드 식별을 위한 회사 번호,
다음에 오는 5개 자릿수는 제품 자체를 나타냅니다.
그 다음에는 코드 정확성을 확인하기 위한 검사 숫자가 온다.
마지막에 있는 > 기호는 바코드 끝을 의미하는 "여백(quiet zone)"에 해당한다.


아래 파일은 Python으로 만든 바코드 생성 코드다.

delock_barcode.py
0.00MB

 

from barcode import EAN13
from barcode.writer import ImageWriter
from PIL import Image

data = "101020670112"  #바코드 데이터
ean = EAN13(data, writer=ImageWriter())
barcode_image = ean.render()  # 바코드 이미지 생성

# 생성된 바코드 이미지를 화면에 표시
barcode_image.show()

위 코드를 아래와 같이 Python이 설치된 상태에서 실행하면

생성된 이미지(png)가 연결된 뷰어(Viewer)를 통해 보여진다.

728x90