Ir para o conteúdo
OneKitly

Três versões de vCard, e a mesma pessoa em cada uma

Publicado a 09/09/2026 · 3 min de leitura · Ferramentas de ficheiros

Daniel Okonkwo

Daniel Okonkwo — Programador front-end e redator de Tecnologia na OneKitly

Desempenho web · Formatos de ficheiro

Verificado a partir de 3 fontes

Ver perfil →
Em resumo

A versão está na segunda linha de cada ficha, logo após BEGIN:VCARD, e muda a forma como o resto é escrito. Na 2.1, ainda produzida por telefones e clientes de correio antigos, um tipo é um parâmetro nu: TEL;CELL e TEL;WORK;VOICE, sem sinal de igual. Na 3.0, que quase todo o livro de endereços exporta e que toda a gente lê, a mesma linha é TEL;TYPE=CELL e TEL;TYPE=WORK,VOICE. Na 4.0, a norma atual, muitos valores tornam-se URI: TEL;VALUE=uri:tel:+33612345678, e um aniversário escreve-se 19780412 em vez de 1978-04-12. O visualizador lê as três — daí uma ficha vinda de um telefone de 2009 e outra do livro deste ano aparecerem lado a lado — mas não as reescreve umas nas outras: um número 4.0 guarda o prefixo tel: e um aniversário 4.0 guarda a forma compacta. A escrever, a 3.0 viaja mais longe.

A 2.1 marca os tipos sem sinal de igual, a 3.0 é o que toda a gente lê, a 4.0 escreve alguns valores como URI — por isso um telefone pode chegar como tel:+33612345678, prefixo incluído. Saber qual tens explica quase todas as surpresas de importação.

Porque as três versões continuam a circular

Os livros de endereços copiam-se para a frente, não se reescrevem. Uma ficha criada num telefone em 2008 foi exportada, importada e reexportada uma dúzia de vezes desde então, e cada um desses passos conservou a versão em que nasceu, salvo se algo a tivesse atualizado de propósito. O resultado é que um livro em uso é muitas vezes uma mistura, e um ficheiro de quinhentos contactos pode conter as três — daí um leitor que só trata uma parecer perder contactos ao acaso.

O analisador toma aqui os parâmetros como vêm — com sinal de igual ou sem — o que permite abrir de uma vez um ficheiro misturado. O que não faz é normalizar em silêncio uma ficha de uma versão para outra, porque seria uma alteração, e uma alteração que não pediste é a última coisa que queres aplicada de uma vez a quinhentos contactos.

O mesmo contacto escrito de três maneiras
LinhavCard 2.1vCard 3.0vCard 4.0
TelemóvelTEL;CELL:TEL;TYPE=CELL:TEL;TYPE=cell;VALUE=uri:tel:
AniversárioBDAY:19780412BDAY:1978-04-12BDAY:19780412
Lido pelo visualizadorSimSimSim, prefixo conservado
Melhor para escreverNão — legadaSimSó se o destino a pedir
Visualizador de VCFAbre um ficheiro .vcf e lê os contactos que contém, sem os importar para lado nenhum.Experimentar a ferramenta →

Perguntas frequentes

Como sei que versão um ficheiro usa?
Abre-o em qualquer editor de texto e lê a segunda linha: VERSION:2.1, VERSION:3.0 ou VERSION:4.0. Um único .vcf pode conter centenas de fichas, e podem ser de versões diferentes, já que um ficheiro é apenas fichas escritas umas a seguir às outras — um livro montado a partir de várias fontes muitas vezes é.
Os meus números importados começam por tel:. Como limpo isso?
É um ficheiro 4.0 lido literalmente. Exporta para CSV, retira o prefixo com um localizar e substituir na coluna dos telefones e reconstrói o .vcf a partir da folha corrigida — a ida e volta custa-te as etiquetas de tipo, que um número URI 4.0 já tornava incómodas. Se só tiveres uns poucos, corrigi-los no destino é mais rápido.
Os nomes acentuados e as fotos sobrevivem entre versões?
Os nomes sim: as três versões levam UTF-8 na prática, e o visualizador descodifica o que lê. As fotos são outra coisa — uma PHOTO integrada é base64 dentro da ficha e pode ocupar centenas de quilobytes sozinha, e nem a exportação CSV nem a JSON a levam. Se as tuas fichas tiverem fotografias, guarda o .vcf como exemplar de referência.

Artigos que podem interessar-lhe

Todos os guias →
ExplicaçãoUma morada vCard tem sete partes, e uma coluna de CSV tem umaNomes, moradas e organizações são campos estruturados numa vCard. Achata-os numa folha de cálculo: leem-se de forma idêntica enquanto perdem as costuras — o que conta assim que reconstróis uma vCard a partir dessa folha.ComparaçãoDois e-mails numa célula, ou duas cadeias num arrayUm contacto pode ter vários números e vários endereços. O CSV junta-os com um ponto médio numa só célula; o JSON guarda-os como lista, que é a diferença entre um script que funciona e outro que divide a olho.TutorialJuntar calendários e livros de endereços acrescenta — não remove duplicadosAs ferramentas de junção põem cada ficha de cada ficheiro numa só saída, pela ordem em que os deste. É o comportamento certo por omissão e a única coisa a saber antes de lá meteres duas exportações da mesma conta.TutorialNão tens de renomear as tuas colunas para inglêsA linha de cabeçalho é reconhecida em seis línguas: prénom, apellidos, Vorname e cognome são todos entendidos. Um cabeçalho é mesmo ambíguo — nome — e é a coluna ao lado que decide.ComparaçãoA exportação JSON guarda três coisas para as quais o CSV não tem colunaMesmo ficheiro, mesmo analisador, duas saídas. A folha de cálculo recebe oito colunas; o JSON recebe ainda o fuso nomeado, o indicador de dia inteiro e a regra de recorrência.ExplicaçãoO mesmo ficheiro .ics pode designar cinco horas diferentesO iCalendar escreve uma hora de início de três maneiras, e só uma é inequívoca. Uma reunião escrita com um fuso nomeado, convertida em máquinas de Paris, Nova Iorque e Honolulu, abrangeu dezanove horas e mudou de dia.

Ferramentas relacionadas

Fontes

Detetaste um erro neste artigo?