`
zhujianjia
  • 浏览: 484200 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

vcard 2.1介绍

 
阅读更多

vCard

  vCard 规范容许公开交换个人数据交换 (Personal Data Interchange PDI) 信息,在传统纸质商业名片可找到这些信息。规范定义电子名片(或叫vCard)的格式。
  vCard 规范可作为各种应用或系统之间的交换格式。定义的格式与传送的方法无关。传送交换可能是文件系统,点对点交换的公共电话网络,以有线网络或无线传送的方式。用户能在互联网上直接利用vCard。电子邮件能转发在vCard中人信息。网页上很多用户填写的表格可自动使用vCard。
  互联网邮件协会(Internet Mail Consortium)正在与互联网工程队伍(Internet Engineering Task Force IETF)共同努力,扩充以多用途互联网邮件为基础(Internet MIME-based)的互联网电子邮件标准标准,使之兼容vCard。vCard规范的XML绑定生成了DTD [vCard ,98] 有助于开发IMS LIP。

VCard 2.1(rfc-2426)标准通信薄基本格式

  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
  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:图片地址
  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:;;街道地址;深圳;广东;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
  <...the remainder of "B" encoded binary data...>
  说明: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 <...the remainder of "B" encoded binary data...>
  可以用URI指定一个外部声音二进制流
  可以是内置的声音二进制流,ENCODING=b
  UID类型定义
  目的:指定一个全球唯一的个人或资源标识。
  例子:UID:19950401-080045-40000F192713-0052
  URL类型定义
  目的:指定Vcard 参考的路径。
  例子:URL: 网址
  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:000000
  X-ICQ:icq
  X-WAB-GENDER:2
分享到:
评论

相关推荐

    vcard2.1规范说明书

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

    Vcard2.1&3.0

    ### VCard 2.1与3.0标准详解 #### VCard 2.1与3.0概述 VCard(Virtual Card)是一种用于存储、交换个人信息的标准格式,它支持多种属性,如姓名、地址、电话号码等。VCard 2.1与3.0是两个重要的版本,在兼容性、...

    Python实现vCard3.0转vCard2.1

    vCard有多个版本,其中vCard2.1是较早的一个版本,而vCard3.0增加了更多特性,如支持更多的字段和多语言信息。 本项目的目标是将vCard3.0格式的联系人数据转换为vCard2.1格式,以便于在不支持新版本格式的旧式手机...

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

    在"Python实现vCard3.0转vCard2.1(已更新)"这个项目中,开发者编写了一个名为`Contact3to2dot1.py`的Python脚本,用于处理这种转换。这个脚本可能包含了读取vCard 3.0文件(如`Contact3.0.vcf`),解析其内容,然后...

    VCard 2.1 Protocol

    ### VCard 2.1 协议详解 #### 一、引言 VCard 2.1 是一种用于存储和交换个人联系信息的标准格式。它最初由 International Business Machines Corp. (IBM), Lucent Technologies, Inc., 和 Siemens 共同制定,并在 ...

    vcard2to3:将vcard从2.1版转换为3.0版

    将vcard从2.1版转换为3.0版。 我编写了这些脚本来转换从Android 4.x手机导出的联系人并将其导入Nextcloud。 它对我有用,您的行程可能会有所不同。 这些脚本非常简单,没有涵盖2.1和3.0之间的所有差异。 vcard2to...

    csv2vcf converter:CSV(逗号分隔值)到vCard 2.1转换器-开源

    该软件将帮助您将.csv(逗号分隔值)文件转换为.vcf(vCard 2.1)文件。 例如,您会发现这对于从旧式手机转移联系人非常有帮助,它可以将其电话簿仅导出到csv,更新的手机甚至是智能手机等。从现在开始,最新版本...

    vcard说明书

    vcard 2.1 specification

    qt vcard 类

    它支持多种版本,包括VCard 2.1和VCard 3.0。在Qt中,开发者可以利用VCard类方便地创建、读取和修改这些联系人数据,而无需依赖额外的库,降低了项目的复杂性。 首先,让我们深入了解一下VCard的结构。VCard数据...

    电子名片:.NET库,用于读取,写入和转换与电子名片标准2.1、3.0和4.0相匹配的VCF文件

    福克·金泽尔 .NET库,用于读取,写入和转换与vCard标准2.1、3.0和4.0相匹配的VCF文件。 它使您从文件系统加载VCF文件并将其保存在其中, 从和向流序列化VCF文件相互转换与vCard版本2.1、3.0和4.0匹配的VCF文件。 它...

    android vcard syncML源码

    1. **vCard解析**:库能够解析vCard 2.1和3.0版本的文件,提取出包含的所有联系人信息。 2. **vCard生成**:它也可以将Android的ContactContract数据转换为vCard格式,便于导出或共享。 3. **兼容性处理**:库对不同...

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

    vCard有多个版本,如v2.1、v3.0、v4.0,每个版本的格式略有差异。解析器应尽可能支持多种版本,以增加其通用性。 10. **实际应用**: 在消费电子设备中,如智能手机、智能手表,这样的C语言实现的vCard解析库可以...

    VCFEncoding 2.0

    2013年新年过后,作者重写了 VCF Encoding 的源代码,使其全面支持 VCard 2.1、3.0 标准,解决了 Unicode、UTF-8、UTF-7、ANSI、Big-endian Unicode 编码问题,支持对嵌入图片和声音资源的解析,支持对 VCF 名片的...

    vcard批量导入 abcvcard

    1. VCard格式介绍: VCard文件通常具有.vcf扩展名,遵循维基媒体基金会的VCard标准。它们以纯文本形式存储,易于阅读和交换。VCard格式支持多个版本,如v2.1、v3.0和v4.0,每个版本都增加了更多的数据字段和功能。 ...

    Android vCard文件操作总结

    - vCard 2.1 是最广泛支持的版本,常见于电子邮件客户端。 - vCard 3.0 在RFC 2425和RFC 2426中被定义为IETF的标准提案,引入了MIME内容类型以支持目录信息。 - vCard 4.0 在RFC 6350中定义,包含了新的XML语法...

    蓝牙开发电话本Vcard文档

    - **vCard 2.1:** 最初的版本,为后续版本奠定了基础。 - **vCard 3.0:** 引入了许多改进,提高了格式的灵活性和可扩展性。 - **vCard 4.0(即RFC 6350):** 进一步增强了功能,增加了对新特性的支持,并解决了...

    vCard_src.zip

    1. **兼容性**:确保程序能处理不同版本的vCard,因为vCard规范经历了多次更新,如v2.1、v3.0、v4.0等,格式略有差异。 2. **错误处理**:vCard文件可能存在语法错误或不完整,解析器需要有良好的错误处理机制,确保...

    C# vCard 类库

    解析器遵循vCard的特定版本规范(如v2.1, v3.0或v4.0),确保数据的正确性。 3. **类库API**:提供了丰富的API供开发者调用,包括创建新的vCard,添加、修改和删除联系人属性,以及读写vCard文件。这些API通常具有...

    android vcard文件导入导出jar

    此外,考虑到VCard的不同版本(2.1, 3.0, 4.0),库可能需要支持不同格式的解析和生成。为了确保兼容性,开发者应该测试不同格式的VCard文件。 总之,"android vcard文件导入导出jar"为Android开发者提供了一个方便...

Global site tag (gtag.js) - Google Analytics