`
freesoftman
  • 浏览: 318854 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

VCard 通信薄格式说明

阅读更多

最在网络上面查找关于vcard格式的技术资料,发现中文的资料很少,只能阅读

vCard MIME Directory Profilerfc2426

 

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

 

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]中预定类型的值一定不能包含用逗号分开的列表,除NNICKNAME, 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类型定义

目的:指定家庭名称或者其他名称对FNN类型排序
例子:  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的数字声音信息,缺省是指定vcardname类型的发音信息。
例子:  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

 

本文来自于:http://hi.baidu.com/19ms/blog/item/a6cc039b54fe18b4c8eaf4db.html

分享到:
评论

相关推荐

    vcard2.1规范说明书

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

    Txt转换Vcard格式

    标题中的“Txt转换Vcard格式”指的是一个技术过程,它涉及到将文本文件(.txt)中的联系人数据转换成VCard(.vcf)格式,这种格式被广泛用于电子名片和手机联系人管理。VCard是一种国际标准,允许用户交换个人联系...

    小米XML文件转Vcard.zip

    将小米XML文件转换为VCard格式,可以帮助用户在不同设备或应用间轻松地迁移联系人数据。 XML是一种自定义标记语言,它允许开发者定义自己的标签来描述数据。在小米XML文件中,每个联系人会被表示为一个XML元素,...

    vcard工具使用说明1

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

    vCard.rar_C语言 通讯录_c vcard_vCard_通讯录_通讯录 C语言

    1. **vCard格式**: vCard是一种XML和JSON之外的数据交换格式,主要用于存储个人或组织的联系信息,如姓名、电话号码、电子邮件地址、公司信息等。vCard文件遵循一定的结构,每条记录由多个属性字段组成,每个字段...

    Python实现vCard3.0转vCard2.1

    vCard是一种标准化的电子名片格式,用于存储个人或组织的联系信息,如姓名、电话号码、电子邮件地址等。它在不同的设备和应用之间交换联系人信息时非常方便。vCard有多个版本,其中vCard2.1是较早的一个版本,而...

    Outlook联系人导出为Vcard格式工具

    Outlook联系人导出为Vcard格式工具是一种实用软件,专为需要在不同平台或设备之间迁移联系人信息的用户设计。Vcard,也称为vCard或电子名片,是一种国际标准,用于存储个人联系信息,如姓名、电话号码、电子邮件地址...

    vcard批量导入 abcvcard

    - 兼容性:VCard格式被广泛接受,适用于各种操作系统(如Windows、macOS、Linux)和应用程序(如Outlook、Apple Contacts、Android通讯录等)。 - 数据一致性:通过批量导入,可以确保所有联系人信息的一致性和...

    Python实现vCard3.0转vCard2.1(已更新)

    在IT领域,数据交换和备份经常涉及到特定格式的文件,比如vCard,它是一种用于存储个人联系信息的标准格式。本文将深入探讨如何使用Python来实现vCard 3.0到vCard 2.1的转换,这对于那些需要与旧式手机兼容的用户...

    TXT转换vcard工具.zip

    在某些情况下,我们需要将TXT文件中的联系人信息转换为vCard格式,以便更好地导入到各种设备或应用程序中。同样,有时也需要将已有的vCard文件转换为TXT,便于编辑或与其他不支持vCard格式的系统交换数据。 这个...

    Vcard2.1&3.0

    VCard(Virtual Card)是一种用于存储、交换个人信息的标准格式,它支持多种属性,如姓名、地址、电话号码等。VCard 2.1与3.0是两个重要的版本,在兼容性、功能及编码规范上存在显著差异。 #### VCard 3.0规范特点 ...

    android vcard syncML源码

    这个库提供了一套完整的API,可以方便地读取、写入和操作vCard格式的数据。其核心功能包括: 1. **vCard解析**:库能够解析vCard 2.1和3.0版本的文件,提取出包含的所有联系人信息。 2. **vCard生成**:它也可以将...

    vcard说明书

    vcard 2.1 specification

    vcard转excel工具vcf转excel工具

    VCard是一种标准格式,用于存储个人联系信息,如姓名、电话号码、电子邮件地址等,常在电子名片或手机联系人中使用。Excel则是一种广泛使用的电子表格程序,适合数据分析、组织和共享信息。"vcard转excel工具vcf转...

    蓝牙开发电话本Vcard文档

    - **企业内部通信:** 企业可以利用vCard格式来存储员工的信息,并通过电子邮件或其他方式分发。 - **商务交流:** 在商务会议或活动中,交换电子名片是一种高效的方式。 - **跨平台信息交换:** 由于其良好的兼容性...

    android-vcard-1.3.rar_VCardParser_V30_VCardSourceDetector_androi

    在处理用户数据,尤其是联系人信息时,VCard格式常常被用来进行数据交换和同步。本文将深入探讨Android平台上的VCard解析器(VCardParser V30)和VCard源检测器(VCardSourceDetector),以及如何利用它们实现手机...

    vCard_src.zip

    同时,为了支持写入vCard文件,VB代码可能包含了生成vCard格式字符串的方法。 对于手机发送联系人功能,vCard发挥了关键作用。用户可以通过邮件、短信或蓝牙分享vCard文件,接收方只需导入这个文件,就能快速添加新...

    python2 7 二维码名片生成器 VCard格式

    Python 2.7 二维码名片生成器是一款基于VCard格式的应用程序,它允许用户创建包含个人信息的二维码,便于他人通过扫描快速获取并存储联系信息。这个工具利用了Qt图形库来构建用户界面,并且借助qrcode库来生成高质量...

    vcard4j-1.1.3.zip

    "vcard4j-1.1.3.zip"是一个专门针对VCard格式的Java库,它提供了丰富的功能来读取、分析和操作.VCF(VCard Format)文件。 该库的主要特性包括: 1. **文件解析**:vcard4j能够解析.VCF文件的内容,将其转化为Java...

    VCard实现电子二维码.zip

    1. **数据收集**:用户输入或导入他们的联系信息,如姓名、电话、邮箱等,这些信息被整理成VCard格式的数据。 2. **VCard生成**:程序将这些数据转化为符合VCard规范的文本文件,也就是.vcf文件。 3. **二维码编码**...

Global site tag (gtag.js) - Google Analytics