QR에 담을 수 있는 것들과 용량
QR 코드는 결국 글자를 담는 그릇입니다. 그런데 어떤 글자를 담느냐에 따라 같은 크기의 QR에 들어가는 양이 네 배 가까이 차이 납니다. 스마트폰이 주소를 열거나 와이파이에 붙는 것도 전부 약속된 글자 형식 덕분입니다.
QR은 네 가지 방식으로 글자를 저장합니다
QR 규격에는 글자를 비트로 바꾸는 방식이 여러 개 있고, 인코더는 내용에 맞는 가장 촘촘한 방식을 고릅니다.
- 숫자 모드. 0부터 9까지만. 세 자리를 10비트에 담습니다. 전화번호나 상품 번호처럼 숫자만 있으면 가장 효율이 좋습니다.
- 영숫자 모드. 숫자, 영문 대문자, 공백과 기호 여덟 개(
$%*+-./:) 까지 45종. 두 글자를 11비트에 담습니다. - 바이트 모드. 그 밖의 모든 것. 한 바이트에 8비트를 씁니다. 소문자가 섞인 주소, 한글, 이모지가 여기로 옵니다.
- 한자 모드. 일본어 문자 집합 전용이라 한국에서 쓸 일은 거의 없습니다.
| 방식 | 최대 글자 수 |
|---|---|
| 숫자 | 7,089자 |
| 영숫자 | 4,296자 |
| 바이트 | 2,953바이트 |
이 사이트의 도구는 규격 10까지만 만듭니다. 여백을 만들려면 남는 칸이 필요한데, 그보다 크면 칸이 너무 잘아져서 스캔이 어려워지기 때문입니다. 규격 10에서 일반 주소는 271자까지 들어갑니다.
한글은 비쌉니다
한글은 바이트 모드로 들어가고, 인터넷에서 표준인 UTF-8 방식으로는 한 글자가 3바이트입니다. 같은 QR에 영어 소문자 90자가 들어간다면 한글은 30자밖에 안 들어간다는 뜻입니다. 한글 문장을 통째로 넣기보다 그 문장이 적힌 웹페이지 주소를 넣는 편이 대개 낫습니다.
주소에 한글이 섞여 있어도 마찬가지입니다. 브라우저 주소창에서 복사한 한글 주소는 보통%ED%95%9C 같은 형태로 바뀌어 있어서 한 글자가 9자로 늘어납니다. 가능하면 영문 주소를 쓰세요.
휴대폰이 알아보는 형식들
스마트폰 카메라는 QR에서 읽은 글자가 특정 형식이면 알맞은 동작을 제안합니다. 이 형식들은 QR 규격에 들어 있지 않고 업계 관례로 굳어진 것이라, 앱에 따라 지원 범위가 조금씩 다릅니다.
| 용도 | 형식 예시 |
|---|---|
| 웹 주소 | https://example.com |
| 와이파이 | WIFI:T:WPA;S:회사망;P:암호;; |
| 전화 걸기 | tel:+821012345678 |
| 문자 보내기 | SMSTO:+821012345678:안녕하세요 |
| 메일 쓰기 | mailto:hello@example.com |
| 지도 위치 | geo:37.5665,126.9780 |
와이파이 QR에서 자주 하는 실수
와이파이 이름이나 비밀번호에 쌍반점(;), 쉼표, 쌍점, 역슬래시가 들어 있으면 앞에 역슬래시를 붙여야 합니다. 그렇지 않으면 휴대폰이 거기서 값이 끝났다고 판단해 접속에 실패합니다. 그리고 와이파이 QR은 비밀번호를 그대로 담고 있으므로, 누구나 볼 수 있는 곳에 붙이면 비밀번호를 벽에 적어둔 것과 같습니다.
짧을수록 비어 보입니다
이 사이트에서 특히 중요한 점입니다. 담는 내용이 짧을수록 채움값이 늘어나고, 채움값은 전부 흰색으로 바꿀 수 있습니다. 그래서 같은 규격이라도 짧은 주소가 훨씬 비어 보입니다.
주소를 영문 대문자로 바꿀 수 있다면 영숫자 모드가 켜져서 공간이 거의 두 배가 됩니다. 도메인 부분은 대소문자를 구분하지 않으니 항상 안전합니다. 경로 부분은 서버 설정에 따라 다르니 바꾸기 전에 대문자로 접속해서 같은 페이지가 뜨는지 확인하세요.
원리는 여백이 생기는 원리에, 규격별 크기는 QR 코드 해부에 정리했습니다.