今天在研究NFC的时候,有VCardTag才聊了了VCard这种电子名片。
以下是VCard的格式例子,也是在MockNdefMessages里面定义的 VCard tag
BEGIN:VCARD
VERSION:3.0
N:Employee;Joe;Google;;
FN:Joe Google Employee
TEL;TYPE=WORK;TYPE=PREF:650-253-0000
EMAIL;TYPE=X-INTERNET:
[email protected]
ADR;TYPE=WORK:;;1600 Amphitheatre Parkway;94043 Mountain View;;;
ORG:Google
TITLE:Software Engineer
URL:http://www.google.com
END:VCARD
public static final byte[] VCARD = new byte[] { (byte) 0xc2, (byte) 0x0c,
(byte) 0x00, (byte) 0x00, (byte) 0x01, (byte) 0x05, (byte) 0x74,
(byte) 0x65, (byte) 0x78, (byte) 0x74, (byte) 0x2f, (byte) 0x78,
(byte) 0x2d, (byte) 0x76, (byte) 0x43, (byte) 0x61, (byte) 0x72,
(byte) 0x64, (byte) 0x42, (byte) 0x45, (byte) 0x47, (byte) 0x49,
(byte) 0x4e, (byte) 0x3a, (byte) 0x56, (byte) 0x43, (byte) 0x41,
(byte) 0x52, (byte) 0x44, (byte) 0x0d, (byte) 0x0a, (byte) 0x56,
(byte) 0x45, (byte) 0x52, (byte) 0x53, (byte) 0x49, (byte) 0x4f,
(byte) 0x4e, (byte) 0x3a, (byte) 0x33, (byte) 0x2e, (byte) 0x30,
(byte) 0x0d, (byte) 0x0a, (byte) 0x46, (byte) 0x4e, (byte) 0x3a,
(byte) 0x4a, (byte) 0x6f, (byte) 0x65, (byte) 0x20, (byte) 0x47,
(byte) 0x6f, (byte) 0x6f, (byte) 0x67, (byte) 0x6c, (byte) 0x65,
(byte) 0x20, (byte) 0x45, (byte) 0x6d, (byte) 0x70, (byte) 0x6c,
(byte) 0x6f, (byte) 0x79, (byte) 0x65, (byte) 0x65, (byte) 0x0d,
(byte) 0x0a, (byte) 0x41, (byte) 0x44, (byte) 0x52, (byte) 0x3b,
(byte) 0x54, (byte) 0x59, (byte) 0x50, (byte) 0x45, (byte) 0x3d,
(byte) 0x57, (byte) 0x4f, (byte) 0x52, (byte) 0x4b, (byte) 0x3a,
(byte) 0x3b, (byte) 0x3b, (byte) 0x31, (byte) 0x36, (byte) 0x30,
(byte) 0x30, (byte) 0x20, (byte) 0x41, (byte) 0x6d, (byte) 0x70,
(byte) 0x68, (byte) 0x69, (byte) 0x74, (byte) 0x68, (byte) 0x65,
(byte) 0x61, (byte) 0x74, (byte) 0x72, (byte) 0x65, (byte) 0x20,
(byte) 0x50, (byte) 0x61, (byte) 0x72, (byte) 0x6b, (byte) 0x77,
(byte) 0x61, (byte) 0x79, (byte) 0x3b, (byte) 0x39, (byte) 0x34,
(byte) 0x30, (byte) 0x34, (byte) 0x33, (byte) 0x20, (byte) 0x4d,
(byte) 0x6f, (byte) 0x75, (byte) 0x6e, (byte) 0x74, (byte) 0x61,
(byte) 0x69, (byte) 0x6e, (byte) 0x20, (byte) 0x56, (byte) 0x69,
(byte) 0x65, (byte) 0x77, (byte) 0x0d, (byte) 0x0a, (byte) 0x54,
(byte) 0x45, (byte) 0x4c, (byte) 0x3b, (byte) 0x54, (byte) 0x59,
(byte) 0x50, (byte) 0x45, (byte) 0x3d, (byte) 0x50, (byte) 0x52,
(byte) 0x45, (byte) 0x46, (byte) 0x2c, (byte) 0x57, (byte) 0x4f,
(byte) 0x52, (byte) 0x4b, (byte) 0x3a, (byte) 0x36, (byte) 0x35,
(byte) 0x30, (byte) 0x2d, (byte) 0x32, (byte) 0x35, (byte) 0x33,
(byte) 0x2d, (byte) 0x30, (byte) 0x30, (byte) 0x30, (byte) 0x30,
(byte) 0x0d, (byte) 0x0a, (byte) 0x45, (byte) 0x4d, (byte) 0x41,
(byte) 0x49, (byte) 0x4c, (byte) 0x3b, (byte) 0x54, (byte) 0x59,
(byte) 0x50, (byte) 0x45, (byte) 0x3d, (byte) 0x49, (byte) 0x4e,
(byte) 0x54, (byte) 0x45, (byte) 0x52, (byte) 0x4e, (byte) 0x45,
(byte) 0x54, (byte) 0x3a, (byte) 0x73, (byte) 0x75, (byte) 0x70,
(byte) 0x70, (byte) 0x6f, (byte) 0x72, (byte) 0x74, (byte) 0x40,
(byte) 0x67, (byte) 0x6f, (byte) 0x6f, (byte) 0x67, (byte) 0x6c,
(byte) 0x65, (byte) 0x2e, (byte) 0x63, (byte) 0x6f, (byte) 0x6d,
(byte) 0x0d, (byte) 0x0a, (byte) 0x54, (byte) 0x49, (byte) 0x54,
(byte) 0x4c, (byte) 0x45, (byte) 0x3a, (byte) 0x53, (byte) 0x6f,
(byte) 0x66, (byte) 0x74, (byte) 0x77, (byte) 0x61, (byte) 0x72,
(byte) 0x65, (byte) 0x20, (byte) 0x45, (byte) 0x6e, (byte) 0x67,
(byte) 0x69, (byte) 0x6e, (byte) 0x65, (byte) 0x65, (byte) 0x72,
(byte) 0x0d, (byte) 0x0a, (byte) 0x4f, (byte) 0x52, (byte) 0x47,
(byte) 0x3a, (byte) 0x47, (byte) 0x6f, (byte) 0x6f, (byte) 0x67,
(byte) 0x6c, (byte) 0x65, (byte) 0x0d, (byte) 0x0a, (byte) 0x55,
(byte) 0x52, (byte) 0x4c, (byte) 0x3a, (byte) 0x68, (byte) 0x74,
(byte) 0x74, (byte) 0x70, (byte) 0x3a, (byte) 0x2f, (byte) 0x2f,
(byte) 0x77, (byte) 0x77, (byte) 0x77, (byte) 0x2e, (byte) 0x67,
(byte) 0x6f, (byte) 0x6f, (byte) 0x67, (byte) 0x6c, (byte) 0x65,
(byte) 0x2e, (byte) 0x63, (byte) 0x6f, (byte) 0x6d, (byte) 0x0d,
(byte) 0x0a, (byte) 0x45, (byte) 0x4e, (byte) 0x44, (byte) 0x3a,
(byte) 0x56, (byte) 0x43, (byte) 0x41, (byte) 0x52, (byte) 0x44,
(byte) 0x0d, (byte) 0x0a };
一开始我不了解VCard的格式,想了解一下VCard在NFC是如何定义的,我就把上面的十六进制一个一个的翻译。我真佩服我的耐心(傻人笨人^_^)后来,我到网上搜索VCard才知道已经是有规范的啦!唉!井底之蛙!
后来我VCard tag import到Contact之后,我再export到/mnt/sdcard,再export到电脑上0001.vcf, 用记事本打开一看,呵呵,跟我翻译那十六进制的结果是一样的。