QR코드,바코드는 어떻게 읽힐까? 인코딩의 기초

4 분 소요

마트 계산대에서 상품을 대면 삑 소리와 함께 가격이 뜨고, 식당에서는 테이블의 QR코드를 찍어 주문합니다. 요즘은 QR코드로 결제까지 합니다. 그 줄무늬와 점무늬 안에는 무엇이 들어 있고, 기계는 그것을 어떻게 읽어 내는 것일까요.

이번 글에서는 바코드와 QR코드가 어떻게 정보를 담고, 어떻게 읽히는지를 코드 없이 풀어 보겠습니다.

바코드와 QR코드는 기계를 위한 글씨입니다 #

바코드와 QR코드는 사람이 아니라 기계가 읽으라고 만든 글씨입니다. 사람이 숫자를 일일이 눈으로 보고 입력하면 느리고 틀리기 쉽지만, 무늬로 적어 두면 기계가 순식간에 정확히 읽습니다.

그래서 이 무늬들은 예쁘게 보이려는 그림이 아니라, 정보를 기계가 읽기 좋은 형태로 옮겨 적은 것입니다. 계산대가 빨라지고 주문이 정확해지는 바탕에 이 글씨가 있습니다.

줄무늬와 점무늬에 숫자가 담겨 있습니다 #

바코드는 굵기가 다른 검은 줄과 흰 줄을 늘어놓아 숫자를 나타냅니다. 줄의 굵기와 간격이 곧 숫자인 셈입니다. QR코드는 한 걸음 더 나아가, 작은 검은 칸과 흰 칸을 바둑판처럼 배열합니다. 검은 칸과 흰 칸을 0과 1로 읽으면, 앞서 다뤘듯 컴퓨터는 그 0과 1로 정보를 표현할 수 있습니다.

카메라나 스캐너는 이 무늬를 비춰 어디가 검고 어디가 흰지를 읽고, 그것을 다시 숫자와 글자로 풀어냅니다. 바코드가 한 줄로 숫자만 담는다면, QR코드는 가로세로로 펼쳐 훨씬 많은 정보를 담을 수 있습니다.

QR코드가 담는 건 대개 짧은 정보입니다 #

여기서 흔한 오해를 하나 풀겠습니다. 식당 QR코드를 찍으면 메뉴판이 뜨지만, 그 메뉴가 QR코드 안에 들어 있는 것은 아닙니다. QR코드에는 보통 짧은 정보, 예를 들면 인터넷 주소 하나가 담겨 있을 뿐입니다.

찍는 순간 일어나는 일은 단순합니다. QR코드에 적힌 주소를 읽어, 그 주소의 페이지를 열어 주는 것입니다. 메뉴판은 그 주소에 있는 웹페이지이지 QR코드 자체가 아닙니다. 상품 바코드도 마찬가지여서, 그 안에는 상품 번호만 들어 있고 가격이나 이름은 그 번호로 가게 시스템에서 찾아옵니다.

조금 지저분해도 읽힙니다 #

QR코드에는 똑똑한 장치가 하나 있습니다. 일부가 가려지거나 인쇄가 번져도 읽히도록, 같은 정보를 어느 정도 겹쳐 담아 둔다는 점입니다. 이를 오류 정정이라고 부릅니다. 덕분에 모서리가 조금 찢어지거나 얼룩이 묻어도 대개 무사히 읽힙니다.

QR코드 한가운데에 회사 로고를 넣은 것을 본 적이 있을 것입니다. 가운데를 로고가 가려도 읽히는 것이 바로 이 오류 정정 덕분입니다. 다만 너무 많이 가리면 읽지 못하니, 가릴 수 있는 정도에는 한계가 있습니다.

그래서 QR을 쓸 때 #

QR코드를 쓰거나 만들 때는 몇 가지를 살피면 좋습니다. 우선 QR코드가 어떤 주소로 이어지는지 미리 확인하는 습관을 들이면 좋습니다. 출처를 알 수 없는 QR코드는 가짜 주소로 유도하는 수법에 쓰이기도 하므로, 결제처럼 민감한 일에서는 특히 조심해야 합니다.

만들 때는 인쇄 크기와 여백을 충분히 두는 것이 좋습니다. 너무 작거나 여백 없이 빽빽하면 잘 읽히지 않습니다. 또 같은 QR코드를 두고 연결되는 주소만 나중에 바꿀 수 있는 방식도 있어, 인쇄물을 다시 찍지 않고도 목적지를 갱신할 수 있습니다.

왜 비개발자가 알면 일이 편해지는가 #

  • 오해를 풉니다. QR코드가 정보 자체가 아니라 대개 주소를 담는다는 점을 알면, 메뉴를 바꿀 때 QR코드를 다시 만들 필요가 없다는 것도 이해합니다.
  • 보안을 챙깁니다. QR코드가 가짜 주소로 이어질 수 있다는 점을 알면, 의심스러운 QR코드를 함부로 찍지 않도록 안내할 수 있습니다.
  • 잘 만듭니다. 크기와 여백, 오류 정정을 알면, 로고를 넣거나 인쇄물에 실을 때 읽히지 않는 실수를 줄일 수 있습니다.

마무리 #

오늘은 바코드와 QR코드가 기계를 위한 글씨이고, 줄무늬와 점무늬에 숫자를 담아 0과 1로 읽히며, 대개 주소 같은 짧은 정보를 담는다는 점을 살펴봤습니다. QR코드 안에 내용이 통째로 든 게 아니라 주소가 담겨 있다는 구분이 핵심입니다.

무늬가 0과 1로 읽힌다는 이야기의 바탕이 궁금하다면 컴퓨터가 0과 1로 모든 것을 표현하는 법을, QR코드로 하는 결제가 어떻게 처리되는지 궁금하다면 온라인 결제는 어떻게 처리될까를 함께 읽어 보시길 권합니다.

X