vCard 2.1, 3.0 e 4.0 comparados
| 2.1 | 3.0 | 4.0 | |
|---|---|---|---|
| Padrão | Especificação do versit Consortium (não é uma RFC) | RFC 2426 | RFC 6350 |
| Publicação | 1996 | 1998 | 2011 |
| Linhas obrigatórias | VERSION; N na prática | VERSION, N, FN | VERSION, FN |
| Como se escreve um celular | TEL;CELL: | TEL;TYPE=CELL: | TEL;TYPE=cell: |
| Conjunto de caracteres | CHARSET= em cada linha, muitas vezes uma página de código local | não informado no arquivo; UTF-8 na prática | UTF-8, sempre |
| Texto com acentos | pode vir em quoted-printable | texto simples | texto simples |
| Fotos | ENCODING=BASE64 | ENCODING=b (base64) | uma URI, muitas vezes uma URI data: |
| Quem grava | celulares antigos, Outlook clássico | iPhone, iCloud, Google Contacts | poucos apps até agora |
Para ver qual você tem, abra o arquivo num editor de texto e leia a segunda linha. VERSION:3.0 é a que você vai encontrar com mais frequência.
As propriedades que você vai ver
| Propriedade | O que guarda | Exemplo |
|---|---|---|
FN | O nome como deve ser exibido | FN:Amélie Lefèvre |
N | O nome em cinco partes: sobrenome; nome; nomes adicionais; prefixos; sufixos | N:Lefèvre;Amélie;;; |
ORG | Empresa e, depois, o departamento, se houver | ORG:Northfield Tools;Sales |
TITLE | Cargo | TITLE:Sales Director |
TEL;TYPE=… | Um telefone; os tipos incluem CELL, WORK, HOME, FAX e VOICE | TEL;TYPE=WORK,VOICE:+1 555 555 0100 |
EMAIL | Um endereço de e-mail, com tipo opcional | EMAIL;TYPE=WORK:[email protected] |
ADR | Um endereço postal em sete partes: caixa postal; complemento; rua; cidade; estado; CEP; país | ADR;TYPE=WORK:;;12 Main St;Springfield;IL;62701;USA |
URL | Um site | URL:https://example.com |
NOTE | Texto livre | NOTE:Met at booth 14\, spring show |
PHOTO | Uma imagem, codificada no arquivo ou por link | PHOTO;ENCODING=b;TYPE=JPEG:/9j/4AAQ… |
Os nomes das propriedades não diferenciam maiúsculas de minúsculas, então tel e TEL significam o mesmo. Linhas que começam com X- são acréscimos próprios de um fornecedor, como X-SOCIALPROFILE. A Apple e o Google também agrupam um valor com um rótulo personalizado colocando o mesmo prefixo nas duas linhas: item1.EMAIL:[email protected] e item1.X-ABLabel:Billing andam juntos. Um leitor que ignora o prefixo ainda recebe o e-mail, só que sem o rótulo.
O mesmo contato em cada versão
vCard 2.1, com o nome acentuado em quoted-printable:
BEGIN:VCARD
VERSION:2.1
N;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:Lef=C3=A8vre;Am=C3=A9lie;;;
FN;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:Am=C3=A9lie Lef=C3=A8vre
TEL;CELL;VOICE:+1 555 555 0142
END:VCARD
vCard 3.0:
BEGIN:VCARD
VERSION:3.0
N:Lefèvre;Amélie;;;
FN:Amélie Lefèvre
TEL;TYPE=CELL:+1 555 555 0142
END:VCARD
vCard 4.0, com o número como link tel::
BEGIN:VCARD
VERSION:4.0
FN:Amélie Lefèvre
N:Lefèvre;Amélie;;;
TEL;TYPE=cell;VALUE=uri:tel:+1-555-555-0142
END:VCARD
Quebra de linhas e quoted-printable
Linhas longas são dobradas. Na 3.0 e na 4.0, quem grava divide uma linha longa inserindo uma quebra de linha seguida de um espaço ou uma tabulação; a RFC 6350 pede linhas de no máximo 75 octetos. Quem lê junta as partes apagando a quebra de linha e esse único caractere, e nada mais. Uma ferramenta que também apaga o espaço seguinte, ou que mantém o primeiro, cola duas palavras ou acrescenta um espaço no meio de um endereço de e-mail. Uma foto em base64 ocupa centenas de linhas dobradas, e é por isso que um .vcf com fotos tem muitas vezes o tamanho de um sem fotos.
O quoted-printable é coisa da 2.1. Cada byte fora do ASCII simples vira um sinal de igual e dois dígitos hexadecimais, então “é” em UTF-8 vira =C3=A9. Uma linha que termina em = é uma quebra suave: o valor continua no início da linha seguinte.
Conjuntos de caracteres e nomes trocados
- Um arquivo 2.1 sem
CHARSET=costumava ser gravado na página de código local do celular ou do Windows. Lido como UTF-8, os acentos dele viram pontos de interrogação. - “é” no lugar de “é” significa o contrário: texto em UTF-8 lido como Windows-1252, muitas vezes pelo Excel.
- Um arquivo 3.0 não informa o conjunto de caracteres. As exportações de hoje gravam em UTF-8, e um leitor deve presumir isso.
- Um arquivo 4.0 é UTF-8 por definição.
- Na 3.0 e na 4.0, uma vírgula, um ponto e vírgula ou uma barra invertida dentro de um valor são escapados com uma barra invertida, e uma quebra de linha dentro de uma nota é escrita
\n. Um leitor que pula isso divide um valor em dois.
Converter entre versões e para CSV
O conversor de VCF para CSV lê as três versões, linhas dobradas, texto em quoted-printable, rótulos item1. e arquivos em UTF-8, UTF-16 ou Windows-1252, e grava um CSV com uma linha por contato. No sentido contrário, ele faz um arquivo vCard 3.0 a partir de um CSV. Ele funciona no seu navegador e nada é enviado. As fotos ficam de fora. Se você precisa do básico antes, leia o que é um arquivo VCF.
Krane para iPhone
Com o Krane: vCards a partir de cartões de papel
O Krane no iPhone, iPhone Duo e iPad trabalha na outra ponta: ele lê um cartão de visita impresso e o transforma em contato, depois o adiciona aos Contatos da Apple ou o compartilha como vCard. Com o Krane Pro, ele também exporta um CSV ou envia o contato para o HubSpot, o Salesforce ou o Pipedrive. O scanner de cartão de visita é grátis para 10 escaneamentos por semana. Ele não importa um .vcf.