标题：vCard
基本信息
类型NAME 类型
如果在内容中出现NAME类型，那么它的值是一个可以显示的，描述vCard源的文本 
PROFILE类型
如果出现PROFILE类型，那么它的值必须是“VCARD” 
SOURCE 类型
如果包含SOURCE类型，它的值提供一些怎样找到vCard源的信息 
预定参数的用法
LANGUAGE
参考[MIME-DIR]文档
ENCODING
参考[MIME-DIR]文档
VALUE
参考[MIME-DIR]文档
预定义值类型的用法
在[MIME-DIR]中预定类型的值一定不能包含用逗号分开的列表，除N，NICKNAME, ADR和 CATEGORIES值类型外。 
预定义值类型的扩展
BINARY
表明类型的值是二进制的，主要应用在类型PHOTO, LOGO, SOUND, and KEY中.
ENCODING参数的值必须指定为“B”
二进制的内容的编码参考[RFC 2047]
VCARD
表示一个类型的值是一个vCard对象
PHONE-NUMBER
表示类型的值是一个电话号码
UTC-OFFSET
表示时间
结构类型的值
复合类型值是用分号分开的字段的集合，复合类型值中避免使用分号，如何需要使用分号，需要用“\分号“替代
行的限定和分行
参考[MIME DIR]，如果行的长度超过了75个字符，那么必须分行。产品及服务互联网邮件协会（Internet Mail Consortium）正在与互联网工程队伍（Internet Engineering Task Force IETF）共同努力，扩充以多用途互联网邮件为基础（Internet MIME-based）的互联网电子邮件标准标准，使之兼容vCard。vCard规范的XML绑定生成了DTD[vCard ，98] 有助于开发IMS LIP。标准通信薄基本格式VCard 数据格式的标识符是VCARD
预定义的值类型：uri, date, date-time, float
新增加的值类型：binary, phone-number, utc-offset and vcard value 
预定义的类型：SOURCE, NAME, PROFILE, BEGIN, END.
新增加的类型：FN, N, NICKNAME, PHOTO, BDAY, ADR, LABEL, TEL, EMAIL,
MAILER, TZ, GEO, TITLE, ROLE, LOGO, AGENT, ORG, CATEGORIES, NOTE,
PRODID, REV, SORT-STRING, SOUND, URL, UID, VERSION, CLASS, KEY
预定义的参数：ENCODING, VALUE, CHARSET, LANGUAGE, CONTEXT.
新增加的参数：TYPE
vCard数据格式行是: 类型 [;参数]:值
ADR;HOME;POSTAL;PARCEL:;;街道地址;深圳;广东;433330;中国
ADR：是一个类型，表示是一条地址信息
“;”号是分隔符合
HOME;POSTAL;PARCEL表示参数，表示ADR的用途或者是类别
:;;街道地址;深圳;广东;433330;中国 表示是一个ADR值，地址值
预定义类型的用法
BEGIN 和 END 类型
Vcard内容必须以BEGIN:VCARD开头，以END:VCARD结尾
参考一个vcard的例子1：
BEGIN:VCARD
VERSION:2.1
N:姓;名
FN:姓名NICKNAME:nickName
ORG:公司;部门
TITLE:职位
NOTE;ENCODING=QUOTED-PRINTABLE:=C6=E4=CB=FB
TEL;WORK;VOICE:电话1
TEL;WORK;VOICE:电话2
TEL;HOME;VOICE:电话1
TEL;HOME;VOICE:电话2
TEL;CELL;VOICE:13590342862
TEL;PAGER;VOICE:0755
TEL;WORK;FAX:传真
TEL;HOME;FAX:传真
ADR;WORK:;;单位地址;深圳;广东;433000;国家
LABEL;WORK;ENCODING=QUOTED-PRINTABLE:=B5=A5=CE=BB=B5=D8=D6=B7
=C9=EE=DB=DA
=B9=E3=B6=AB
433000
=B9=FA=BC=D2
ADR;HOME;POSTAL;PARCEL:;;街道地址;深圳;广东;433330;中国
LABEL;HOME;ENCODING=QUOTED-PRINTABLE:=BD=D6=B5=C0=B5=D8=D6=B7
=C9=EE=DB=DA
=B9=E3=B6=AB
433330
=D6=D0=B9=FA
URL:网址
URL:单位主页
EMAIL;PREF;INTERNET:邮箱地址
X-QQ:38394246
X-ICQ:icq
X-WAB-GENDER:2
REV:20060220T180305Z
标识类型
FN 类型定义
目的：vcard对象的名称，一个vcard对象必须包含FN类型。
例子：FN:Mr. John Q. Public\, Esq.
N类型定义
目的：FN表示一个vcard对象的名称，N表示这个对象名称的组成部分
例子：N:Public;John;Quinlan;Mr.;Esq.
N:Stevenson;John;Philip,Paul;Dr.;Jr.,M.D.,A.C.P.
各个组成部分可以用分号分号，每个组成部分可以用逗号。
NICKNAME类型定义
目的：表示别名
例子：NICKNAME:Robbie
NICKNAME:Jim,Jimmie
PHOTO类型定义
目的：vcard对象的图像信息
例子：PHOTO;VALUE=uri:图片地址
PHOTO;ENCODING=b;TYPE=JPEG:MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcN
AQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bm
ljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0
&lt;...remainder of "B" encoded binary data...&gt;
如果使用内联的二进制数据表示图片信息，那么;ENCODING=b
BDAY类型定义
目的：表示出生日期
例子：BDAY:1996-04-15
BDAY:1953-10-15T23:10:00Z
BDAY:1987-09-27T08:30:00-06:00ADR 类型定义目的：是一个组合，用来表示一个地址信息，值类型是一个用分号分开的文本值
例子：ADR;TYPE=dom,home,postal,parcel:;;123 Main Street;Any Town;CA;91921-1234;A
ADR;HOME;POSTAL;PARCEL:;;街道地址;深圳;广东;444444;中国
组合由一下部分顺序的组成：
the post office box; 
the extended address; 
the street address; 
the locality (e.g., city); 
the region (e.g., state or province); 
the postal code; 
the country name
七个部分组成，如果，其他的一个部分没有，必须用分号分开
type 参数的说明
"dom" 国内地址
"intl" 国际地址
"parcel"包裹递送地址
"home" 居住地址;
"work"工作地址;
"pref" 有多个地址的时候，优先的地址
缺省的"TYPE=intl,postal,parcel,work"，可以替换 
LABEL类型定义
目的：是一格式化的文本值，表示一个地址
例子：LABEL;TYPE=dom,home,postal,parcel:Mr.John Q. Public\, Esq.\n
Mail Drop: TNE QB\n123 Main Street\nAny Town\, CA 91921-1234
\nU.S.A. 
type 参数的说明
"dom" 国内地址
"intl" 国际地址
"parcel"包裹递送地址
"home" 居住地址;
"work"工作地址;
"pref" 有多个地址的时候，优先的地址
缺省的"TYPE=intl,postal,parcel,work"，可以替换
和ADR的不同是 ADR的值是用分号分开的数据，LABEL就是一个格式化的文本。电话通信地址类型TEL类型定义
目的：指定一个电话号码
例子：TEL;TYPE=work,voice,pref,msg:+1-213-555-1234
说明：值是一个规范的全球唯一的电话号码
TYPE参数的值有：
"home"表示家庭电话
"msg" 表示这个号码支持语音
"work" 工作电话
"pref" 表示多个电话中最喜欢使用的电话
"voice" 声音电话号码
"fax"传真号码
"cell" 表示手机电话
"video" 视频电话
"pager" 调度电话，估计是总机的电话
"bbs" 公开的广播系统的电话
"modem" 调制解调器电话
"car"汽车电话
"isdn" ISDN连接电话号码
"pcs" 个人通信服务电话
缺省是 "voice". 
TYPE参数的用法是TYPE=work;TYPE=voice或者"TYPE=work,voice"，缺省值可以被重置
"TYPE=work,home,voice,fax". 
EMAIL类型定义
目的：指定一个电子邮件
例子：EMAIL;TYPE=internet:邮箱地址
EMAIL;TYPE=x400:邮箱地址
EMAIL;TYPE=internet,pref:邮箱地址
TYPE参数的使用
"internet" 表示一个internet 类型地址
"x400" 表示是一个 X.400 地址
"pref"最喜欢使用的邮件电子
缺省是"internet". 
MAILER 类型定义
目的：指定一个电子邮件发送者
例子：MAILER:PigeonMail 2.1 地理类型TZ类型定义
目的：时区信息
例子：TZ:-05:00
TZ;VALUE=text:-05:00; EST; Raleigh/North America
缺省是一个utc-offset值. 
GEO类型定义
目的：地理位置信息
例子GEO:37.386013;-122.082932 
CEO 经度；纬度组织类型TITLE类型定义
目的：工作位置，工作职能（job title）
例子TITLE:Director\, Research and Development 
ROLE 类型定义
目的：公司的职业（occupation）
例子ROLE:Programmer 
LOGO类型定义
目的：公司logo，是一个图像信息
例子LOGO;VALUE=uri:图片地址
LOGO;ENCODING=b;TYPE=JPEG:MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcN AQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bm
ljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0
&lt;...the remainder of "B" encoded binary data...&gt;
说明：TYPE知道图像的格式，ENCODING=b表示是二进制的数据流
URI表示是一个外部图像对象 
AGENT类型定义
目的：指定另外一个人替换他的个人行为
例子：AGENT;VALUE=uri: CID:JQPUBLIC.part3.960129T083020.邮箱地址
AGENT:BEGIN:VCARD\nFN:Susan Thomas\nTEL:+1-919-555-
1234\nEMAIL\;INTERNET:主机地址\nEND:VCARD\n 
说明：缺省是一个Vcard对象，当时也可是一个URI指定的外部Vcard对象
ORG类型定义
目的：表示一个组织的名称
例子ORG:ABC\, Inc.;North American Division;Marketing解释类型CATEGORIES类型定义
目的：vcard应用的分类信息
例子：CATEGORIES:TRAVEL AGENT
CATEGORIES:INTERNET,IETF,INDUSTRY,INFORMATION TECHNOLOGY 
NOTE 类型定义
目的：对vcard的注释和说明
例子：NOTE:This fax number is operational 0800 to 1715
EST\, Mon-Fri. 
PRODID类型定义
目的：指定创建Vcard对象的产品的ID
例子：PRODID:-//ONLINE DIRECTORY//NONSGML Version 1//EN 
REV类型定义
目的：指定当前Vcard的修改信息
例子：REV:1995-10-31T22:27:10Z
REV:1997-11-15 
SORT-STRING类型定义
目的：指定家庭名称或者其他名称对FN和N类型排序
例子： FN:Rene van der Harten
N:van der Harten;Rene;J.;Sir;R.D.O.N.
SORT-STRING:Harten 
FN:Robert Pau Shou Chang
N:Pau;Shou Chang;Robert
SORT-STRING:Pau 
FN:Osamu Koura
N:Koura;Osamu
SORT-STRING:Koura 
FN:Oscar del Pozo
N:del Pozo Triscon;Oscar
SORT-STRING:Pozo 
FN:Chistine d'Aboville
N:d'Aboville;Christine
SORT-STRING:Aboville 
SOUND类型定义
目的：指定Vcard的数字声音信息，缺省是指定vcard的name类型的发音信息。
例子： SOUND;TYPE=BASIC;VALUE=uri:CID:JOHNQPUBLIC.part8.
19960229T080000.地址
SOUND;TYPE=BASIC;ENCODING=b:MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcN AQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bm ljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0 &lt;...the remainder of "B" encoded binary data...&gt;
可以用URI指定一个外部声音二进制流
可以是内置的声音二进制流，ENCODING=b 
UID类型定义
目的：指定一个全球唯一的个人或资源标识。
例子：UID:19950401-080045-40000F192713-0052 
URL类型定义
目的：指定Vcard 参考的路径。
例子：URL: 网址
VERSION类型定义
目的：指定Vcard使用的vcard规范的版本。
例子： VERSION:3.0Security 类型CLASS类型定义
目的：指定访问Vcard对象的访问分级。
例子： CLASS:PUBLIC
CLASS:PRIVATE
CLASS:CONFIDENTIAL
说明：安全分级需要参考目录服务的访问分级 
KEY 类型定义
目的：指定Vcard的公共钥匙值（加密解密是使用）或者是授权认证。
例子： KEY;ENCODING=b:MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcNAQEEBQA
wdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENbW11bmljYX
Rpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0
ZW1zMRwwGgYDVQQDExNyb290Y2EubmV0c2NhcGUuY29tMB4XDTk3MDYwNj
E5NDc1OVoXDTk3MTIwMzE5NDc1OVowgYkxCzAJBgNVBAYTAlVTMSYwJAYD
VQQKEx1OZXRzY2FwZSBDb21tdW5pY2F0aW9ucyBDb3JwLjEYMBYGA1UEAx
MPVGltb3RoeSBBIEhvd2VzMSEwHwYJKoZIhvcNAQkBFhJob3dlc0BuZXRz
Y2FwZS5jb20xFTATBgoJkiaJk/IsZAEBEwVob3dlczBcMA0GCSqGSIb3DQ
EBAQUAA0sAMEgCQQC0JZf6wkg8pLMXHHCUvMfL5H6zjSk4vTTXZpYyrdN2
dXcoX49LKiOmgeJSzoiFKHtLOIboyludF90CgqcxtwKnAgMBAAGjNjA0MB
EGCWCGSAGG+EIBAQQEAwIAoDAfBgNVHSMEGDAWgBT84FToB/GV3jr3mcau
+hUMbsQukjANBgkqhkiG9w0BAQQFAAOBgQBexv7o7mi3PLXadkmNP9LcIP
mx93HGp0Kgyx1jIVMyNgsemeAwBM+MSlhMfcpbTrONwNjZYW8vJDSoi//y
rZlVt9bJbs7MNYZVsyF1unsqaln4/vy6Uawfg8VUMk1U7jt8LYpo4YULU7
UZHPYVUaSgVttImOHZIKi4hlPXBOhcUQ== 扩展类型可以定义自己的类型，自己定义的类型需要以“x-”开头
比喻例子中的信息：
X-QQ:000000
X-ICQ:icq
X-WAB-GENDER:2