`
freesoftman
  • 浏览: 313891 次
  • 性别: 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

分享到:
评论

相关推荐

    vcard工具使用说明1

    vcard工具使用说明1

    小米XML文件转Vcard.zip

    小米XML文件转Vcard.zip

    Txt转换Vcard格式

    可以把苹果的通讯录保存为txt 再转换为华为手机格式。在Delphi xe2下测试通过。

    Vcard 文档

    规范定义电子名片(或叫vCard)的格式。  vCard 规范可作为各种应用或系统之间的交换格式。定义的格式与传送的方法无关。传送交换可能是文件系统,点对点交换的公共电话网络,以有线网络或无线传送的方式。用户...

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

    将Outlook联系人批量导出为Vcard格式或者将Vcard联系人导入outlook工具,内含Keygen。 从其他系统手机用户转投安卓阵营的朋友们可能需要用到。

    vcard2.1规范说明书

    This specification defines a format for an electronic business card, or vCard. The format is suitable as an interchange format between applications or systems. The format is defined independent of the...

    vcard说明书

    vcard 2.1 specification

    Vcard2.1&3.0

    Vcard2.1&3.0Vcard2.1&3.0Vcard2.1&3.0Vcard2.1&3.0Vcard2.1&3.0

    Python实现vCard3.0转vCard2.1

    将手机联系人备份从vCard3.0文件转为vCard2.1文件(旧式手机需要) 。 在Python3.7下可运行,不支持头像转换。

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

    通讯录文件vcard解析源码,纯 C语言实现,适合于消费电子类产品应用。

    TXT转换vcard工具.zip

    TXT转换vcard工具,TXT免费转换vcard格式,也可以vcard格式免费转换TXT。本软件是开源的,下载打开就能用,直接导入文件进行转换即可!

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

    可以生成二维码名片,格式是VCard,运用了Qt库和qrcode库。

    vcard批量导入 abcvcard

    vcard批量导入, 可以同时导出多种格式xls txt csv 等文件

    android-vcard.

    android-vcard.

    亲测 php 生成vcf vcard 类例子

    public $vcard_birtda;// Birthday YYYY-MM-DD public $vcard_f_name;// Family name public $vcard_cellul;// Cellular Phone Number Mobile public $vcard_compan;// Company Name public $vcard_h_addr;// ...

    ez-vcard, 用于Java的vCard分析程序库.zip

    ez-vcard, 用于Java的vCard分析程序库 位 vcard持续集成: 代码覆盖率: Maven 中心: 聊天室: 许可证: ez vCard是用Java编写的vCard库。 它可以以多种格式读取和写入 vcard 。 因为

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

    将手机联系人备份从vCard3.0文件转为vCard2.1文件(旧式手机需要) 。 在Python3.7下可运行,不支持头像转换。

    vCard_src.zip

    VCARD解析。可以用于手机发送联系人功能的VCARD解析。

    vCard21Tool 源代码

    C#写的vcard转换器,能够从text 或者 cvs 文件批量生成vcard文件,从而不需要手工一个一个录入通讯录。 需要的话,可以增加其他的输入信息,或者解析vcard文件生成text文件或者excel文件。

    Outlook通讯录转vCard格式

    七、运行VcardWizard,弹出select action for vCard wizard 对话框,选择export contacts to vcard后,弹出export contacts to vCard files窗口,设置输出文件位置。 这样就完成了导出,在硬盘上生成一个叫“联系人....

Global site tag (gtag.js) - Google Analytics