vCard에 담기는 내용
vCard는 라벨이 붙은 줄로 이루어진 일반 텍스트로, BEGIN:VCARD로 열리고 END:VCARD로 닫혀요. 각 줄에는 표시 이름, 전화번호, 이메일 주소 같은 속성이 하나씩 들어요. 휴대폰이나 이메일 프로그램에서 연락처를 내보낼 때 .vcf 파일에 들어 있는 텍스트가 바로 이거예요.
QR코드용 최소한의 vCard 3.0은 한 줄에 속성 하나씩 이렇게 생겼어요. BEGIN:VCARD, VERSION:3.0, N:Lee;Jordan, FN:Jordan Lee, ORG:Maple Street Bakery, TEL:+15035550123, EMAIL:jordan@example.com, URL:https://example.com, END:VCARD. N에는 세미콜론으로 구분한 구조화된 이름(성이 먼저)이, FN에는 표시될 이름이 들어가요.
- N: 구조화된 이름(성;이름;중간 이름;접두어;접미어)
- FN: 표시 이름
- TEL: 전화번호, 가급적 국제 형식
- EMAIL: 이메일 주소
- ORG: 회사 또는 조직
- TITLE: 직함
- URL과 ADR: 웹사이트와 우편 주소
어떤 버전을 쓸까요
QR코드에는 버전 3.0이 여전히 가장 안전한 선택이에요. 거의 모든 휴대폰이 읽기 때문이에요. 1998년 RFC 2426에 정의되어 있어요. 2011년 RFC 6350에 정의된 버전 4.0이 현재 표준이고 UTF-8이 필수이지만, 일부 오래된 리더에서는 처리가 덜 일관적이에요.
버전 3.0은 N과 FN을 모두 기대하고, 4.0은 FN만 필요로 해요. 어느 버전이든 VERSION 줄은 BEGIN:VCARD 바로 다음에 와야 해요.
크기와 스캔의 절충
vCard에 필드를 추가할 때마다 글자가 늘고, 글자가 많으면 모듈이 더 작고 빽빽한 QR코드가 돼요. 이름, 전화번호 하나, 이메일 하나가 있는 카드는 명함 크기에서도 쉽게 스캔돼요. 우편 주소, 여러 번호, 긴 메모, 삽입된 사진을 더하면 훨씬 더 크게 인쇄해야 하는 버전이 될 수 있어요.
사진이 보통 문제예요. base64로 인코딩한 이미지는 수천 자가 될 수 있어서 실용적인 코드에는 거의 들어가지 않아요. 흔한 대안은 호스팅된 .vcf 파일이나 연락처 페이지로 가는 단축 링크를 인코딩하는 거예요. 코드가 작게 유지되고 나중에 정보를 바꿀 수도 있어요.