`

VCard格式说明

阅读更多
转自:http://zhoup.cnblogs.com/archive/2006/02/21/334798.aspx
VCard 通信薄格式说明
周鹏
2006-2-21
MAIL:zhoupe@gmail.com
QQ:383942243

最在网络上面查找关于vcard格式的技术资料,发现中文的资料很少,只能阅读
vCard MIME Directory Profile(rfc-2426)

翻译它需要花太多的时间,现在把自己的理解做下记录,希望对大家有帮助

VCard 数据格式的标识符是VCARD
l         预定义的值类型:uri, date, date-time, float
l         新增加的值类型:binary, phone-number, utc-offset and vcard value
l         预定义的类型:SOURCE, NAME, PROFILE, BEGIN, END.
l         新增加的类型: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
l         预定义的参数:ENCODING, VALUE, CHARSET, LANGUAGE, CONTEXT.
l         新增加的参数: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:http://
URL:单位主页
EMAIL;PREF;INTERNET:guodc@139.com
X-QQ:38394246
X-ICQ:icq
X-WAB-GENDER:2
REV:20060220T180305Z
END: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个字符,那么必须分行。


VCard 特征
标识类型
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:http://www.abc.com/pub/photos/jqpublic.gif
      PHOTO;ENCODING=b;TYPE=JPEG:MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcN
         AQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bm
         ljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0
         <...remainder of "B" encoded binary data...>
   如果使用内联的二进制数据表示图片信息,那么;ENCODING=b
BDAY类型定义

目的:表示出生日期
例子:BDAY:1996-04-15
        BDAY:1953-10-15T23:10:00Z
        BDAY:1987-09-27T08:30:00-06:00
地址类型
ADR 类型定义

目的:是一个组合,用来表示一个地址信息,值类型是一个用分号分开的文本值
例子:ADR;TYPE=dom,home,postal,parcel:;;123 Main Street;Any Town;CA;91921-1234;A
ADR;HOME;POSTAL;PARCEL:;;街道地址;深圳;广东;433330;中国
        组合由一下部分顺序的组成:
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:jqpublic@xyz.dom1.com
    EMAIL;TYPE=internet:jdoe@isp.net
    EMAIL;TYPE=internet,pref:jane_doe@abc.com
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:http://www.abc.com/pub/logos/abccorp.jpg
LOGO;ENCODING=b;TYPE=JPEG:MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcN         AQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bm
         ljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0
         <...the remainder of "B" encoded binary data...>
说明:TYPE知道图像的格式,ENCODING=b表示是二进制的数据流
      URI表示是一个外部图像对象

AGENT类型定义

目的:指定另外一个人替换他的个人行为
例子:AGENT;VALUE=uri: CID:JQPUBLIC.part3.960129T083020.xyzMail@host3.com
AGENT:BEGIN:VCARD\nFN:Susan Thomas\nTEL:+1-919-555-
         1234\nEMAIL\;INTERNET:sthomas@host.com\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.xyzMail@host1.com
        SOUND;TYPE=BASIC;ENCODING=b:MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcN         AQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bm         ljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0 <...the remainder of "B" encoded binary data...>
可以用URI指定一个外部声音二进制流
    可以是内置的声音二进制流,ENCODING=b


UID类型定义

目的:指定一个全球唯一的个人或资源标识。
例子:UID:19950401-080045-40000F192713-0052


URL类型定义

目的:指定Vcard 参考的路径。
例子:URL:http://www.swbyps.restaurant.french/~chezchic.html


VERSION类型定义

目的:指定Vcard使用的vcard规范的版本。
例子:  VERSION:3.0
Security 类型
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:38394246
X-ICQ:icq
X-WAB-GENDER:2
分享到:
评论

相关推荐

    vcard2.1规范说明书

    ### vCard 2.1 规范说明 #### 一、引言 vCard 是一种电子名片格式,它被设计用于在不同的应用程序或系统之间进行数据交换。此规范定义了一个适用于不同传输方式(如文件系统、点对点异步通信、有线网络传输或无线...

    vcard工具使用说明1

    1. **打开VCF文件**:首先,你需要使用VCard工具打开包含VCard格式的联系人信息文件。VCard是一种标准格式,用于存储个人的电子名片数据,如姓名、电话号码、电子邮件地址等。 2. **导出为TXT**:在菜单栏中选择...

    c# vcard开发api源码

    VCard是一种标准化的电子名片格式,用于存储个人或组织的联系信息,如姓名、...通过学习和利用这个C# VCard开发API源码,开发者不仅可以掌握VCard格式的相关知识,还能深入了解C#类库的设计和实现,提升软件开发能力。

    C# vCard 类库

    综上所述,C# vCard类库是C#开发者处理vCard格式数据的有力工具,通过其提供的API和示例,可以方便地进行联系人信息的存储、读取和交换。无论是构建个人通讯录应用,还是进行企业级的客户管理,这个类库都能大大简化...

    yandex-vcard-源码.rar

    这个压缩包可能是Yandex开发的一个项目或工具,用于处理、创建或解析VCard格式的数据。 【描述】"yandex-vcard-源码.rar"表明这是一个RAR格式的压缩文件,其中包含了Yandex VCard项目的源代码。RAR是一种流行的压缩...

    易语言-通讯录Vcard文件解析例程

    每读取一行,检查是否以“BEGIN:VCARD”开头,如果找到,说明开始一个新的Vcard条目;接着,通过字符串处理函数,如“字符串查找”、“字符串分割”等,来查找和提取属性及对应的值。例如,当找到“FN:”时,我们...

    Mocor MMI VCard Interface User Guide.doc

    VCard是一种标准化的电子名片格式,用于存储个人或组织的联系信息。该接口提供了对VCard文件的操作,使得开发人员能够方便地在应用中集成联系人管理功能。 1.2 VCard模块概念 VCard模块是系统中负责处理VCard数据...

    Android使用vcard文件的方法简单实例

    `VCardComposer`类负责将`ContactStruct`对象转化为vCard格式的字符串,`createVCard()`方法接受一个`ContactStruct`对象和vCard版本号作为参数。在这个例子中,版本号设置为`VCardComposer.VERSION_VCARD30_INT`,...

    Mime-Dir and vCard Java API-开源

    Mime-Dir和vCard是两个在互联网通信中广泛使用的数据格式标准,它们主要用于表示电子邮件附件和联系人信息。IETF(Internet Engineering Task Force)制定了相关的RFC(Request for Comments)文档来规范这两种格式...

    vCardEditor:简单的vCard(* .vcf)文件编辑器

    感谢Thought.vCards出色的解析和生成vcf格式的库。 另外,我使用了此示例中的MVP模式: : 发行说明: 0.3 重构和错误修复 0.2 将vCard库更新为 用nsubstitute(测试模拟库)替换了Moq。

    Gigaset集怡嘉DA760A中文说明书.pdf

    - 名片本功能允许用户存储最多200个联系人,支持4种群组和10个快速拨号设置,还可通过电脑导入Vcard格式的联系人信息。 总之,Gigaset集怡嘉DA760A是一款功能丰富的电话机,其操作手册详尽地介绍了各种设置和使用...

    PHP实现生成vcf vcard文件功能类定义与使用方法详解【附demo源码下载】 <font color=red>原创</font>

    在本文中,我们将深入探讨如何使用PHP来生成VCF(vCard)文件,这是一种常见的用于交换个人联系信息的标准格式。vCard通常用于保存姓名、电话号码、电子邮件地址、公司信息等,可以在各种设备和应用程序之间无缝共享...

    rocket:简单的VCard网站

    VCard是一种电子格式,用于存储个人联系信息,如姓名、地址、电话号码等。在这个项目中,“rocket”可能是项目的名字或者与设计风格或功能有关的概念,暗示着快速、现代或简洁。 【描述分析】:“我在学习时的第一...

    展讯MMI 模块的接口说明(2)

    - `Mocor MMI VCard Interface User Guide`:VCard接口,可能涉及联系人信息的导入导出,支持VCard格式的标准。 - `Mocor MMI VT Interface User Guide`:VT接口可能与视频通话或流媒体服务有关,涉及视频编码、...

    IOS应用源码之二维码互传通讯录联系人.zip

    vCard是一种标准化的电子名片格式,可包含姓名、电话号码、电子邮件地址等多种联系方式。在iOS中,我们可以使用ABPerson类来创建和管理联系人,并使用MFMailComposeViewController或MFMessageComposeViewController...

    将 vcf文件转成表格

    了解.vcf文件格式至关重要,它基于vCard标准,采用XML-like语法来编码联系人信息。每个.vcf文件可以包含一个或多个联系人记录,每个记录由一系列属性(如FN:全名,TEL:电话,EMAIL:电子邮件等)组成。 在提供的...

    PBAP_SPEC.rar_Bluetooth pbap_pbap_蓝牙_蓝牙pbap协议_蓝牙协议

    PBAP协议基于蓝牙核心规范,它定义了如何通过蓝牙传输VCard格式的联系人数据。VCard是一种国际标准,用于电子名片的交换,包含了姓名、电话号码、电子邮件地址等多种个人信息。通过PBAP,设备能够请求和提供这些...

    基于云计算的个人通讯录设计.pdf

    它们能够存储个人通讯录的备份文件,如vCard格式,确保数据的安全性和可恢复性。 3. 社交网络服务(SNS):SNS是个人通讯录设计中的关键部分,因为它们提供了与朋友、家人和同事保持联系的平台。文档中列举了多个社交...

    java版通讯录管理系统

    文件、xml 文件、vCard 文件或其他自定义格式文件,但不能是 Excel 文件)。不 使用数据库。 2. 通讯录中每个项目包括: ( 1)基本信息:姓名、手机号码、电子邮箱、生日、所属组、备注、像片。 ( 2)...

Global site tag (gtag.js) - Google Analytics