.vcf vCard dekodieren?

German support forum

Moderators: white, Hacker, Stefan2

Post Reply
Ralph3
Junior Member
Junior Member
Posts: 6
Joined: 2005-09-14, 14:01 UTC

.vcf vCard dekodieren?

Post by *Ralph3 »

Ich habe von einem Apple-Mac-Freund eine vCard Version 3.0 mit eingebettetem Photo erhalten.

Outlook 2003 kann zwar die vCard v3.0 anzeigen - zumindest dann, wenn man vorher die Codierung der vcf-Datei von Unicode Big Endian zu ANSI ändert (das geht über den Editor, Datei, Speichern unter...), sonst öffnet sich nämlich nur ein leeres Kontaktfenster (eine gemeine Falle, die mich einige Stunden gekostet hat).

Jedoch kann Outlook 2003 leider keine Photos in vCards anzeigen. Daher möchte ich das Photo extrahieren. Die vcf-Datei sieht so aus:

BEGIN:VCARD
VERSION:3.0
...
PHOTO;BASE64:
/9j/4AAQSkZJRgABAQAAAQABAAD/4gI4SUNDX1BST0ZJTEUAAQEAAAIoQURCRQIQAABtbnRyUkdC
...
WKWCpuVVVZtWhD2dGmtVCL5eaTdleclGMVZJQguWOkpX/9k=
CATEGORY:Gruppe1
END:VCARD

Wenn ich die vcf-Datei mit TC decodieren will, erhalte ich die Meldung "WARNUNG: Nichts decodiert!".
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48028
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Da fehlt der nötige MIME-Header. Dazu einfach eine Kopie der Datei anlegen und wie folgt ändern:

Code: Select all

Content-Type: image/pjpeg; name="foto.jpg"
Content-Transfer-Encoding: base64
Content-Disposition: attachment

/9j/4AAQSkZJRgABAQAAAQABAAD/4gI4SUNDX1BST0ZJTEUAA
QEAAAIoQURCRQIQAABtbnRyUkdC
...
WKWCpuVVVZtWhD2dGmtVCL5eaTdleclGMVZJQguWOkpX/9k= 
Allerdings geht das dann nur, wenn das Bild wirklich im Jpeg-Format vorliegt. Das scheint hier aber der Fall zu sein, habe die erste Zeile mal decodiert.
Author of Total Commander
https://www.ghisler.com
Ralph3
Junior Member
Junior Member
Posts: 6
Joined: 2005-09-14, 14:01 UTC

Post by *Ralph3 »

Vielen Dank, ghisler, hat geklappt, allerdings erst nach einer weiteren Modifikation:
In der vcf-Datei enden die Zeilen, in denen das Photo codiert ist, jeweils mit einem Rechteck und zwei Leerzeichen (im Editor betrachtet; sind beim Kopieren in mein Posting leider verlorengegangen). Das Rechteck und die zwei Leerzeichen muß man am Ende einer jeden Zeile durch einen normalen Zeilenwechsel ersetzen (ich habe es mit Ersetzen im Editor gemacht, vielleicht gibt es auch ein fertiges Programm).

Wäre super, wenn TC demnächst vcf-Dateien direkt unterstützt. Testmaterial findet man etwa, wenn man in Google nach "PHOTO;BASE64" sucht.
phantom
Power Member
Power Member
Posts: 671
Joined: 2003-11-21, 15:34 UTC

Re: .vcf vCard dekodieren?

Post by *phantom »

Eine interessante Möglichkeit Fotos aus einer VCARD zu ziehen. Bei mir hatte die .VCF folgendes Format und enthielt gleich 3 Fotos.

Code: Select all

BEGIN:VCARD
VERSION:2.1
N:
FN:
TEL;CELL:
TEL;CELL:
EMAIL;HOME:
EMAIL;HOME:
PHOTO;ENCODING=BASE64;JPEG:/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgMCAgMDAwM
 EAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/
 2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF
 BQUFBQUFBQUFBQUFBT/wAARCABgAGADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAA
 ECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaE
 II0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZn
 aGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJy
 tLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAw
 QFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobH
 BCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hp
 anN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0
 tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDyuJP3gJxggcH0qdckMO
 AM9qhtwwjC8gcY9j/WpYiRw2Gz3x2/zmvKueitWXFGCoXDDvyTmvnj483upax4+sNGt4nEaQx
 xx4OVd3LHd+Az9Pm7V9FxlmTPA56Acg15hq/hi51vx9qFzbRNH9jlhla4cboyBAwKdcqAwUkc
 KeQeWBo0WrNaUXOaijt/hf8ACezu9FWCZY3Hm+YYlAxkLsJBOecFjyO/Tisnx78BtP01RNNZo
Anfangs hatte ich auch Probleme beim Decodieren. Bei mir waren es die Leerzeichen zu Beginn jeder Zeile. Nachdem ich diese entfernt hatte und mir jedes Foto separat vorgenommen hatte, klappte es einwandfrei.

Code: Select all

Content-Type: image/pjpeg; name="foto.jpg"
Content-Transfer-Encoding: base64
Content-Disposition: attachment

/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgMCAgMDAwM
EAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/
2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF
BQUFBQUFBQUFBQUFBT/wAARCABgAGADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAA
ECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaE
II0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZn
aGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJy
tLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAw
QFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobH
BCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hp
anN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0
tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDyuJP3gJxggcH0qdckMO
AM9qhtwwjC8gcY9j/WpYiRw2Gz3x2/zmvKueitWXFGCoXDDvyTmvnj483upax4+sNGt4nEaQx
xx4OVd3LHd+Az9Pm7V9FxlmTPA56Acg15hq/hi51vx9qFzbRNH9jlhla4cboyBAwKdcqAwUkc
KeQeWBo0WrNaUXOaijt/hf8ACezu9FWCZY3Hm+YYlAxkLsJBOecFjyO/Tisnx78BtP01RNNZo
Danke für den Tipp!
Post Reply