UPC-A 바코드
**바코드**(영어: barcode)는 컴퓨터가 판독할 수 있도록 고안된 코드이다. 굵기가 다른 흑백 막대로 조합시켜 만든 코드로, 주로 제품의 포장지에 인쇄된다. 이런 전통적인 형태의 바코드를 선형(1차원) 바코드라고 한다. 그러나 이 방법으로는 많은 정보를 담기 어렵기 때문에 매트릭스(2차원) 코드가 개발되었으며, 육각형이나 사각형 배열의 점으로 이루어져 있다. 매트릭스 코드는 엄밀히 말해 바(bar) 코드가 아니지만 흔히 2차원 바코드로 일컬어진다. 현재 제품 고유 번호를 나타내는 바코드가 대부분의 제품 포장지에 인쇄되어 계산대에서 널리 활용되고 있다. RFID 기술은 칩 하나의 가격이 500원 정도이지만 바코드는 5원 수준으로 거의 돈이 들지 않기 때문에, 지속적인 연구에도 불구하고 RFID가 바코드를 대체하지는 못하고 있다.

역사
--

1948년, 미국 펜실베이니아주 필라델피아에 위치한 드렉셀 대학교에 다니던 버나드 실버는 푸드 페어의 사장이 체크아웃을 할 때 제품 정보를 자동으로 읽는 시스템의 연구를 학장 중 한 명에게 요청한다는 말을 우연히 들었다. 실버는 그의 친구 노만 조셉 우드랜드에게 이 요청에 대해 이야기하였으며 그들은 다양한 시스템에 대해 작업을 시작했다. 이들이 작업한 시스템은 자외선 잉크를 사용하였으나 이 잉크는 너무 희미해지기 쉬웠고 가격이 비쌌다.

일부 출처[모호한 표현]에 따르면 바코드의 개념은 1969년 IBM이 달에 착지한 아폴로 우주인이 만든 발자국을 보다가 개발한 것이라고 한다.

한국에서는 1988년 하계 올림픽이 개최되었던 1988년 5월 20일에 도입되었으며 북한은 1999년 5월부터 사용 중이다.

원리
--

우선 세계상품코드(UPC) 등의 기준에 따라 부호화한 뒤, 바코드 스캐너와 암호 해독기로 구성된 판독기를 통해 해석되며, 이렇게 스캐너가 바코드를 읽으면 코드가 암호 해독기에 전달되며, 이것이 해독되어 알아볼 수 있는 정보로 변환된다.

장단점
---

상품의 종류를 나타내거나, 점포 등에서 매출정보, 도서관의 도서 관리 등 여러 가지 용도로 사용할 수 있으며, 종이 외에도 다양한 재질에 인쇄할 수 있으며, 원하는 정보에 빨리 접근할 수 있다는 장점을 가지고 있다. 또한 일부가 손상되더라도 다른 부분을 읽어서 정상적인 정보를 얻을 수 있다는 것이다. 다만, 바코드는 정보 용량에 한계가 있으므로 바코드가 붙어 있는 물건에 대한 정보를 충분히 알 수 없다는 단점을 가지고 있다. 이런 한계를 보완하기 위해 최근 2차원 바코드(다른 말로 매트릭스 코드)가 개발되었다. 2차원 바코드는 기존의 바코드와 큰 차이는 없으나, 기존의 선형 바코드에서 흑백 네모 모양을 모자이크식으로 배열하는 방식으로 종류에 따라 약 4천 바이트까지 코드화할 수 있기 때문에, 더 많은 정보를 담을 수 있게 되었다.

연속(continuous) 바코드와 불연속(discrete) 바코드
-------------------------------------

연속 바코드에서 숫자나 글자를 나타내는 부호는 연속해 있으며, 이를 구분하기 위해 처음과 끝이 다르다. (예: 흑으로 시작해서 백으로 끝나거나 백으로 시작해서 흑으로 끝남.) 반면에 불연속 바코드에서 숫자나 글자를 나타내는 부호는 모두 떨어져 있으며 처음과 끝이 모두 흑색인 경우가 대부분이다. 불연속 바코드에서 한 자리 숫자나 한 글자 사이의 간격은 (떨어진 숫자나 글자들이 하나의 코드로 인식될 수만 있다면) 제한이 없다.
두 폭(two-width) 바코드와 여러 폭(many-width) 바코드. 두 폭 바코드에서 흑색 막대나 백색 막대의 너비는 좁거나 넓은 두 가지로 구분된다. 즉 넓은 막대가 좁은 막대에 비해 얼마나 넓은지는 아무런 의미가 없다. 그러나 여러 폭 바코드에서 모든 막대의 너비는 좁은 막대의 정수배이다. 여러 폭 바코드에서 좁은 막대의 너비를 모듈이라고 한다. 예를 들어, 네 폭 바코드는 1, 2, 3, 4 모듈 막대로 이루어진다.

부호화
---

바코드는 부호화 방법에 따라 구분된다. 부호화 방법은 바코드가 나타내는 원문의 한 자리 숫자나 한 글자를 흑백 막대의 조합으로 표현하는 방법을 비롯해 바코드의 시작과 끝, 체크섬 등을 제공한다. 부호화 방법은 대개 크게 두 가지 기준에 의해 구분된다.

* 연속(continuous) 바코드와 불연속(discrete) 바코드. 연속 바코드에서 숫자나 글자를 나타내는 부호는 연속해 있으며, 이를 구분하기 위해 처음과 끝이 다르다. (예: 흑으로 시작해서 백으로 끝나거나 백으로 시작해서 흑으로 끝남.) 반면에 불연속 바코드에서 숫자나 글자를 나타내는 부호는 모두 떨어져 있으며 처음과 끝이 모두 흑색인 경우가 대부분이다. 불연속 바코드에서 한 자리 숫자나 한 글자 사이의 간격은 (떨어진 숫자나 글자들이 하나의 코드로 인식될 수만 있다면) 제한이 없다.
* 두 폭(two-width) 바코드와 여러 폭(many-width) 바코드. 두 폭 바코드에서 흑색 막대나 백색 막대의 너비는 좁거나 넓은 두 가지로 구분된다. 즉 넓은 막대가 좁은 막대에 비해 얼마나 넓은지는 아무런 의미가 없다. 그러나 여러 폭 바코드에서 모든 막대의 너비는 좁은 막대의 정수배이다. 여러 폭 바코드에서 좁은 막대의 너비를 모듈이라고 한다. 예를 들어, 네 폭 바코드는 1, 2, 3, 4 모듈 막대로 이루어진다.

종류
--

### 바코드 (1차원 코드)

| 부호화 | 연속/불연속 | 폭 구분 | 쓰임 | 비고 |
| --- | --- | --- | --- | --- |
| 코드 11 | 불연속 | 두 폭 | 전화 |  |
| 코드 39 | 불연속 | 두 폭 | 다용도 |  |
| 코드 93 | 연속 | 여러 폭 | 다용도 |  |
| 코드 128 | 연속 | 여러 폭 | 다용도 |  |
| UPC (범용 제품 코드) | 연속 | 여러 폭 | 제품 코드 | GS1 인증 |
| EAN 8 | 연속 | 여러 폭 | 제품 코드 | GS1 인증 |
| EAN 13 | 연속 | 여러 폭 | 제품 코드 | GS1 인증 |

### 매트릭스 코드 (2차원 코드)

| 부호화 | 개발사 (저작권) | 비고 |
| --- | --- | --- |
| PDF417 | 심볼 테크놀로지 (퍼블릭 도메인) | ISO 15438 |
| QR 코드 | 덴소 웨이브 (특허 종료, 퍼블릭 도메인) |  |
| 데이터매트릭스 | 마이크로스캔 시스템즈 (퍼블릭 도메인) | 세마코드 |
| 대용량 컬러 바코드 | 마이크로소프트 |  |

생성기
---

잉크스케이프는 바코드(EAN-13 및 EAN-5 등) 그리고 QR 코드를 SVG 및 PNG로 제작할 수 있다.

스크라이버스는 바코드(EAN-13 및 EAN-5 등) 생성 품질이 ISBN바코드 형식을 준수한다.