1 电子名片输出格式

1.1 电子名片文件内容

本标准定义的电子名片输出格式文件内容参考vCard3.0规范,每个vCard对象均以BEGIN:VCARD开始,以END:VCARD结束。一个电子名片文件包含一个或多个vCard对象,文件扩展名为vcf或vcard。

从存储格式、交换格式或解析方式上说,vCard是包含了一个或多个vCard对象的数据流。单个的vCard定义,可以从vCard数据流中识别并进行语法分析。vCard数据流的表现形式可与文件系统、档案管理组成单元形式相一致,也可存在于两个网络终端之间的网络连结,或任何其他的可对字节流解释抽象的数字传输系统。

从概念上讲,vCard写入器指创建vCard数据流的软模块,vCard读入器则为解释vCard数据流的软模块,vCard读入器和写入器,既可集成实现,也可分开应用。至于如何实现这些读写过程,则超出本标准。

1.1.1 vCard对象所含内容

从逻辑上说,每个vCard对象是单个或多个属性的集合,每个属性具有唯一的属性名。多个属性可以在vCard对象内形成属性组。例如,电话号码和注解可以归为一组,以保持对这个电话的注释。除了属性分组,一个vCard对象还能包括其他的、嵌套vCard对象,这一特点使vCard可以记录和某人或对象相关的其他人或对象。此外,还可以描述由多个vCard对象组成的分发列表或工作组。

1.2 编码特征

1.2.1 电子名片对象

电子名片数据流可以包括一至多个电子名片对象。数据流内的单个名片对象由名片分隔符:

[group "."] "BEGIN" ":" "VCARD" 1*CRLF

开始,这个前导字串必须作为数据流或某行中的第一个字符串。

名片对象的结束,必须是:名片对象开始行后面某行,其首位字符段出现

[group "."] "END" ":" "VCARD" 1*CRLF

的特征字符串。

1.2.2 属性行

每个电子名片表示对象基本组成单位是属性行。每个属性行则由属性名、属性参数列表、属性取值三部分组成,其中属性名与属性参数之间用分号隔开,属性名与属性值之间则用冒号隔开。按照RFC 822所定义的语法规范,属性行可以表现为如下形式:

PropertyName [‘;‘ PropertyParameters] ’:‘ PropertyValue

示例:EMAIL;TYPE=internet:jqpublic@xyz.dom1.com

属性行可以包括一行或多行文本。属性名和属性参数名是预定义好的、大小写非敏感的字符串。

属性值可以由属性参数列表进一步分类,属性参数列表由一系列的属性参数表达式组成,表达式之间由分号“;进行分隔,属性参数表达式可以形式为:name=value,也可以直接取为参数值字串,但要求取值意义明确,不得有歧义性。

1.2.3 属性参数

1.2.3.1 编码

电子名片对象的默认编码是8位, 但可以用属性参数ENCODING单独指定。

1.2.3.2 语言

可以由属性参数 LANGUAGE确定。这个属性参数值是一个与RFC 1766规范一致的字串,以作为语言标识。这个属性参数一般可用于任何属性,但对于属性如: PHOTO, LOGO, SOUND, TEL,可能没有意义。汉语的取值可以为zh-CN、 zh-TW、zh-SG或zh-HK。

示例  :ADR;LANGUAGE=zh-CN:…

示例  :ADR;LANGUAGE=zh-TW:…

对于其他的属性语句中的LANGUAGE参数取值,指定的中文语言,其作用域仅限于这个参数表达式所在的属性行。

1.2.3.3 字符集

字符集由字符集属性参数 “CHARSET”取值确定。这个属性参数只能出现在头信息的Content-Type字段中,规定整个名片对象内的属性取值,而不能出现在其他位置。

任何在IANA(Internet Assigned Numbers Authority)上登记的所有汉字的字符集,都可以作为该参数取值。作为中文可能的字符集,主要有:GB12345,GB13000.1,GB18030等。

1.2.4 属性值类型

属性值类型详见表1:

表1 属性值类型

类型

意义

Text

可读文本,其中的逗号和分号前需加反斜线转义。

Uri

表示所引用的外部值,其定义见RFC 1738

datetimedate-timeutc-offset

日期、时间,其定义见ISO 8601标准。

Boolean

布尔值

Integer

以十进制表示的有符号整数,默认为正整数。

Float

实数,默认为正实数。

1.3 vCard格式

本格式包括两个部分:预定义属性和基本属性。

1.3.1 预定义属性

1.3.1.1 开始

表2 “开始“属性的说明

标签

BEGIN

名称

开始

用途

表示一个内容实体的开始,BEGIN属性的值必须是”VCARD”

示例

BEGIN:VCARD

1.3.1.2 结束

表3 “结束“属性的说明

标签

END

名称

结束

用途

表示一个内容实体的结束,END属性的值必须是”VCARD”

示例

END: VCARD

1.3.1.3 来源名称

表4 “来源名称“属性的说明

标签

NAME

名称

来源名称

用途

如果在内容中出现NAME属性,那么它的值是一个可以显示的,描述vCard来源的文本。

编码

8bit

取值

一个text

示例

NAME:王刚的名片信息

1.3.1.4 规范

表5 “规范“属性的说明

标签

PROFILE

名称

规范

用途

用于表示该规范为VCARD规范。

备注

如果出现PROFILE属性,那么它的值必须是“VCARD”

示例

PROFILE:vCard

1.3.1.5 出处

表6 “出处“属性的说明

标签

SOURCE

名称

出处

用途

如果包含SOURCE类型,它的值提供一些关于如何找到vCard源的信息。

编码

8bit

取值

一个uri

示例

SOURCE;CONTEXT=LDAP:ldap://ldap.host/cn=Babs%20Jensen,
%20o=Babsco,%20c=US

1.3.2 基本属性

1.3.2.1 个人标识属性

1.3.2.1.1 格式化名称

表7 “格式化名称“属性的说明

标签

FN

名称

格式化名称

用途

vCard对象的格式化名称,每个vCard对象均需包含该属性。

编码

8bit

取值

一个text

备注

该属性遵循GB/T 16264.6-2008公共名属性的语义

示例

FN:王刚

 

 

 

 

 

 

 

 

 

 

 

1.3.2.1.2 名称

表8 “名称“属性的说明

标           

N

名      称 

名称

用      途

表示这个vCard对象名称的组成部分,每个vCard对象均需包含该属性。

编      码

8bit

取       值

一个结构化的text

备      注

一个结构化的text值,各个组成部分可以用分号分隔,每个组成部分内部可以用逗号分隔。这个属性值的第一个字段为姓氏,第二个字段为人名,第三个字段为本人的英文名称或拼音注释,第四个字段为学位,第五个字段可以表示为职称、荣誉头衔、尊称等多种名称要素。其中第三、四、五字段可有可无,亦可以只有一个字段,但分隔符(即分号";")不能少。

示      例

N:王;刚;;;
N:Public;John;Quinlan;Mr.;Esq.

1.3.2.1.3 别名

表9 “别名“属性的说明

标  签       

NICKNAME

名  称

别名

用 途

指定vCard对象的别名。

编 码

8bit

取 值

一个或多个用逗号分隔的text

备 注

 

示 例

NICKNAME:小马

1.3.2.1.4 图像

表10 “图像“属性的说明

标       

PHOTO

名     称

图像

用    途

vCard对象的图像信息

编    码

如果使用二进制数据表示图片信息,那么需使用ENCODING=b;如果是引用外部的URI值,则编码为8 bit,此时无需ENCODING参数。

取   值

默认为二进制图像数据,也可为指示外部图像数据的uri值。

备   注

通过属性参数TYPE指定图像格式。它的值应为IANA注册的格式,或者是一种非标准的格式。

示  例

PHOTO;ENCODING=b;TYPE=JPEG:MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcN

AQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bm

ljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0

 

PHOTO;VALUE=uri:http://www.abc.com/pub/photos/jqpublic.gif

1.3.2.1.5 生日

表11 “生日“属性的说明

标    签

BDAY

名   称

生日

用   途

指定了名片个体的出生日期

编   码

8bit

取   值

默认为一个date值,也可为一个date-time值。

备   注

 

示   例

BDAY:1996-06-15

1.3.2.2 邮政地址属性

1.3.2.2.1 邮递地址

表12 “邮递地址“属性的说明

标       

ADR

名 称

邮递地址

用 途

是一个组合,用来表示vCard对象的邮递地址信息

编 码

8bit

取 值

用分号分开的结构化的text

备 注

该结构化的text值由一系列用分号分隔的地址子部分组成。这些子部分必须按着如下的顺序排列:邮政信箱,扩充地址,街道地址,当地地址,所处地区,邮政编码,国家名称。当某些子部分没有时,相应的分隔符仍需保留。其中,一个子部分可以包括多个值,用逗号分隔。

可以通过属性参数TYPE指定邮递地址的类型。这个属性参数可以选取以下的值:

dom:国内地址

intl:国际地址(默认)

postal:邮政投递地址(默认)

parcel:包裹投递地址(默认)

home:家庭投递地址

work:工作投递地址(默认)

pref:首选的地址(当有多个地址时)

示 例

ADR; TYPE=dom,home,postal,parcel:;;街道地址;深圳;广东;433330;中国

1.3.2.2.2 邮寄标签

表13 “邮寄标签“属性的说明

标   签

LABEL

名 称

邮寄标签

用 途

用于指定与邮递地址对应的格式化文本

编 码

8bit

取 值

一个text

备 注

可以通过属性参数TYPE指定邮递地址的类型。这个属性参数可以选取以下的值:

dom:国内地址

intl:国际地址(默认)

postal:邮政投递地址(默认)

parcel:包裹投递地址(默认)

home:家庭投递地址

work:工作投递地址(默认)

pref:首选的地址

ADR不同的是 ADR的值是用分号分隔的数据,而LABEL就是一个格式化的文本。

示 例

LABEL;TYPE=dom,home,postal,parcel:海淀北大街123号\,海淀区\,北京\,100080

1.3.2.3 通信地址属性

1.3.2.3.1 电话

表14 “电话“属性的说明

标  签

TEL

名  称

电话

用 途

指定一个电话号码

编 码

8bit

取 值

一个phone-number值,原则上应依据GB/T 16264.6电话号码属性规定

备 注

可以通过属性参数TYPE指定电话的类型。这个属性参数可以选取以下的值:

    home:家庭电话

    msg:支持语音留言功能的电话

    work:工作电话

    pref:首选的电话

voice:语音电话(默认)

fax: 传真号码

    cell: 蜂窝式移动电话

    video: 视频电话

    pager: 寻呼机号码

bbs: 公告板服务号码

modem: 连接了调制解调器的电话号码

    car: 车载电话

    isdn: 开通了ISDN服务的电话号码

    pcs: 个人通信服务电话

    assistant: 助理电话

    telegraph: 电报电话

    tty/tdd: tty/tdd电话

示 例

TEL;TYPE=work,voice,pref:++86-132-666-1234

1.3.2.3.2 电子邮件

表15 “电子邮件“属性的说明

标 签

EMAIL

名 称

电子邮件

用 途

表示一个电子邮件地址

编 码

8bit

取 值

一个text

备 注

可以通过属性参数TYPE指定电子邮件地址的类型。这个属性参数可以选取以下的值:

internetinternet类型地址(默认)

x400X.400类型地址

pref:首选的电子邮件地址(当有多个地址时)

tlx:表示电报电话

示 例

EMAIL;TYPE=internet:jqpublic@xyz.dom1.com

1.3.2.3.3 电子邮件软件

表16 “电子邮件软件“属性的说明

标 签

MAILER

名 称

电子邮件软件

用 途

指明vCard对象中的个人所使用的电子邮件软件类型

编 码

8bit

取 值

一个text

备 注

 

示 例

MAILER:PigeonMail 2.1

1.3.2.4 地理属性

1.3.2.4.1 时区

表17 “时区“属性的说明

标 签

TZ

名 称

时区

用 途

表示时区信息

编 码

8bit

取 值

缺省为一个utc-offset值,也可以是一个text

备 注

 

示 例

TZ:-05:00

TZ;VALUE=text:-05:00\;北京时间

1.3.2.4.2 经纬度

表18 “经纬度“属性的说明

标 签

GEO

名 称

经纬度

用 途

表示地理位置信息

编 码

8bit

取 值

一个由两个用分号分隔的float值所构成的结构化的值

备 注

纬度在前,经度在后。

示 例

GEO:37.386013;-122.082932

1.3.2.5 组织机构或单位属性

1.3.2.5.1 头衔

表19 “头衔“属性的说明

标 签

TITLE

名 称

头衔

用 途

指定与名片对象相关的个人在组织内的工作头衔,职位或作用。

编 码

8bit

取 值

一个text

备 注

基于 GB/T 16264.6标准中有关 TITLE属性定义

示 例

TITLE:研发经理

1.3.2.5.2 业务类别

表20 “业务类别“属性的说明

标 签

ROLE

名 称

业务类别

用 途

指定组织系统内电子名片对象所属的角色、职业或业务类别。

编 码

8bit

取 值

一个text

备 注

基于GB/T 16264标准中的业务类别解释属性

示 例

ROLE:行政管理

1.3.2.5.3 徽标

表21 “徽标“属性的说明

标    

LOGO

名称

徽标

用途

表示公司logo,是一个图像信息

编码

binary 8bit,如果使用二进制数据表示图片信息,那么需使用ENCODING=b

取值

默认为二进制图像数据,也可为指示外部图像数据的uri值。

备注

通过属性参数TYPE指定图像格式。它的值应为IANA注册的格式,或者是一种非标准的格式。

示例

LOGO;VALUE=uri:http://www.abc.com/pub/logos/abccorp.jpg

LOGO;ENCODING=b;TYPE=JPEG:MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcN         AQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bm

ljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0

1.3.2.5.4 代理

表22 “代理“属性的说明

标签

AGENT

名称

代理

用途

指定代表与vCard对象相关的个人或资源的另一个个体的信息

编码

8bit

取值

默认为一个vCard值,也可为一个text值或uri值。

备注

这个属性代表着一个公司的地区性负责人、助理、或秘书职位。代理属性的主要特征是它表示一个具有独立地址的个人或事物。

示例

AGENT:BEGIN:VCARD\nFN:Joe Friday\nTEL:+1-919-555-7878\n

 TITLE:Area Administrator\, Assistant\n EMAIL\;TYPE=INTERN\n

 ET:jfriday@host.com\nEND:VCARD\n

1.3.2.5.5 组织

表23 “组织“属性的说明

标   

ORG

名称

组织

用途

表示一个组织机构或单位的名称

编码

8bit

取值

一个由分号分隔的子部分组成的结构化text

备注

基于GB/T 16264.6组织名属性及组织下级单位属性。这个属性值包括的各级组织成分,用分号分隔。各级组织成分,主要指组织名称(第一个字段)、组织下级单位(第二个字段)、更下级的单位名称(第三个字段),依此递推。

示例

ORG:汉王科技;研发中心;OCR软件部

1.3.2.6 解释性信息属性

1.3.2.6.1 类别

表24 “类别“属性的说明

标签

CATEGORIES

名称

类别

用途

vCard的应用分类信息

编码

8bit

取值

一个或多个用逗号分隔的text

备注

 

示例

CATEGORIES:因特网,信息技术

 

1.3.2.6.2 注释

表25 “注释“属性的说明

标签

NOTE

名称

注释

用途

vCard对象相关的补充信息或注释

编码

8bit

取值

一个text

备注

基于GB/T 16264.6描述属性定义

示例

NOTE:注释信息.

1.3.2.6.3 产品ID

表26 “产品ID“属性的说明

标签

PRODID

名称

产品ID

用途

指定创建vCard对象的产品的ID

编码

8bit

取值

一个text

备注

生成方法参见GB/T 15537

示例

PRODID: 12312784-974320-819738238730-8634

1.3.2.6.4 最近修正时间

表27 “最近修正时间“属性的说明

标签

REV

名称

最近修正时间

用途

表示出当前vCard的最近修正时间

编码

8bit

取值

默认为一个date-time值,也可为一个date值。

备注

 

示例

REV:1995-10-31T22:27:10Z

REV:1997-11-15

1.3.2.6.5 排序名称

表28 “排序名称“属性的说明

标签

SORT-STRING

名称

排序名称

用途

指定姓氏或名称以用于对FNN属性排序

编码

8bit

取值

一个text

备注

 

示例

FN:Rene van der Harten

N:van der Harten;Rene;J.;Sir;R.D.O.N.

SORT-STRING:Harten

1.3.2.6.6 声音

表29 “声音“属性的说明

标  

SOUND

名称

声音

用途

指定vCard的数字声音信息,缺省是指vCard对象的name属性的发音信息

编码

binary 8bit,如果使用二进制数据表示声音信息,那么需使用ENCODING=b

取值

默认为二进制声音数据,也可为指示外部声音数据的uri值。

备注

可以通过属性参数TYPE指定采用的声音的格式。它的值应为IANA注册的格式,或者是一种非标准的格式。

示例

SOUND;TYPE=BASIC;VALUE=uri:CID:JOHNQPUBLIC.part8.19960229T0800

00.xyzMail@host1.com

SOUND;TYPE=BASIC;ENCODING=b:MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcN         AQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bm         ljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0

1.3.2.6.7 唯一标识符

表30 “唯一标识符“属性的说明

标签

UID

名称

唯一标识符

用途

指定一个标识该vCard相关的个人或资源的全球唯一标识符

编码

8bit

取值

一个text

备注

生成方法参见GB/T 15537

示例

UID: 49878357-347530-347093847304-8347

1.3.2.6.8 统一资源定位器

表31 “统一资源定位器“属性的说明

标签

URL

名称

统一资源定位器

用途

指定该vCard相关的网址

编码

8bit

取值

一个uri

备注

 

示例

URL:http://www.hanwang.com.cn

1.3.2.6.9 版本

表32 “版本“属性的说明

标签

VERSION

名称

版本

用途

指定该vCard所使用的vCard规范的版本

编码

8bit

取值

一个text

备注

 

示例

VERSION:3.0

1.3.2.7 名片安全属性

1.3.2.7.1 访问级别

表33 “访问级别“属性的说明

标签

CLASS

名称

访问级别

用途

指定vCard对象的访问级别

编码

8bit

取值

一个text

备注

访问级别需要参考目录服务的访问级别

示例

CLASS:PUBLIC

CLASS:PRIVATE

CLASS:CONFIDENTIAL

1.3.2.7.2 公用密钥

表34 “公用密钥“属性的说明

标   

KEY

名称

公用密钥

用途

指定vCard的公共钥匙值(加密解密时使用)或者是授权认证

编码

binary 8bit

取值

默认为二进制数据,也可为text值。

备注

 

示例

KEY;ENCODING=b:MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcNAQEEBQA

wdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENbW11bmljYX       Rpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0         ZW1zMRwwGgYDVQQDExNyb290Y2EubmV0c2NhcGUuY29tMB4XDTk3MDYwNj         E5NDc1OVoXDTk3MTIwMzE5NDc1OVowgYkxCzAJBgNVBAYTAlVTMSYwJAYD         VQQKEx1OZXRzY2FwZSBDb21tdW5pY2F0aW9ucyBDb3JwLjEYMBYGA1UEAx         MPVGltb3RoeSBBIEhvd2VzMSEwHwYJKoZIhvcNAQkBFhJob3dlc0BuZXRz         Y2FwZS5jb20xFTATBgoJkiaJk/IsZAEBEwVob3dlczBcMA0GCSqGSIb3DQ         EBAQUAA0sAMEgCQQC0JZf6wkg8pLMXHHCUvMfL5H6zjSk4vTTXZpYyrdN2         dXcoX49LKiOmgeJSzoiFKHtLOIboyludF90CgqcxtwKnAgMBAAGjNjA0MB         EGCWCGSAGG+EIBAQQEAwIAoDAfBgNVHSMEGDAWgBT84FToB/GV3jr3mcau         +hUMbsQukjANBgkqhkiG9w0BAQQFAAOBgQBexv7o7mi3PLXadkmNP9LcIP         mx93HGp0Kgyx1jIVMyNgsemeAwBM+MSlhMfcpbTrONwNjZYW8vJDSoi//y         rZlVt9bJbs7MNYZVsyF1unsqaln4/vy6Uawfg8VUMk1U7jt8LYpo4YULU7         UZHPYVUaSgVttImOHZIKi4hlPXBOhcUQ==