大可山博客[GDI+,WPF, .Net图形图像]

WPF,WinForms,asp.net开发,图形图像处理系统研究[信奉:凡事靠自己]  QQ:329325120

 
 
分类:            二维码2013-01-08 18:054224人阅读评论(2)收藏举报
 
 

二维码名片的格式 - vcard

如果你希望生成的二维码名片可以被智能设备识别,并可以直接导入到通讯录中,那么就应遵循某种标准格式。常见的是生成vcard标准格式。一个简单的vcard名片格式例子参考如下:

BEGIN:VCARD
VERSION:3.0
FN:任侠
TEL;CELL;VOICE:15201280000
TEL;WORK;VOICE:010-62100000
TEL;WORK;FAX:010-62100001
EMAIL;PREF;INTERNET:lzw#lzw.me
URL:http://lzw.me
orG:志文工作室
ROLE:产品部
TITLE:CTO
ADR;WORK;POSTAL:北京市朝阳区北四环中路35号;100101
REV:2012-12-27T08:30:02Z
END:VCARD

如果你想更详细的定制所需要的格式,则需要详细的了解vcard的格式标准。

3.1 vcard格式简介

vCard(或称做Versitcard)最早是由Versit联盟于1995年提出的,当时联盟成员包括苹果公司,AT&T科技(后来的朗讯),IBM及西门子。在1996年十二月,格式的拥有权移至因特网邮件联盟(IMC),此联盟是由一些关注因特网电子邮件的公司所组成。

vCard标准的2.1版被电子邮件客户端广泛支持。3.0版是一个包含在RFC 2425和RFC 2426中的IETF标准跟踪提案。vCard的常用文件扩展名是.vcf。

不同的程序对vCard标准实现亦不同。Mac OS X中的Address Book允许把所有联系人导出到一个vcf文件,而Microsoft Outlook只能每人一个文件。Linux中KDE的Kontact允许每个文件导入或导出一人或多人。

3.2 vcard标准通信薄基本格式

3.2.1 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

3.2.2 vCard数据格式行: 类型 [;参数]:值

  ADR;HOME;POSTAL;PARCEL:;;街道地址;深圳;广东;433330;中国
  ADR:是一个类型,表示是一条地址信息
  “;”号是分隔符合
  HOME;POSTAL;PARCEL表示参数,表示ADR的用途或者是类别
  :;;街道地址;深圳;广东;433330;中国 表示是一个ADR值,地址值

3.2.3 预定义类型的用法  

3.2.3.1 BEGIN 和 END 类型

  Vcard内容必须以BEGIN:VCARD开头,以END:VCARD结尾vcard的类型标志特征详解

3.2.3.2 标识类型

  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

3.2.3.3 联系方式

  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

3.2.3.4 地理类型

  TZ类型定义

  目的:时区信息
  例子:TZ:-05:00
  TZ;VALUE=text:-05:00; EST; Raleigh/North America
  缺省是一个utc-offset值.

GEO类型定义

  目的:地理位置信息
  例子GEO:37.386013;-122.082932
  CEO 经度;纬度

3.2.3.5 组织类型

  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

3.2.3.6 解释类型

  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

3.2.3.7 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==

3.2.3.8 扩展类型

可以定义自己的类型,自己定义的类型需要以“x-”开头
比如例子中的信息:

  X-QQ:000000
  X-ICQ:icq
  X-WAB-GENDER:2

本文来源于:『志文工作室 - 计算机基础技术学习博客』详细地址:http://lzw.me/Category/Learning/php-qrcode-vcard.html

Phonebook registration function formats Property name Parameter description
Name N: Designates a text string to be set as the name in the phonebook. (0 or more characters) When a field is divided by a comma (,), the first half is treated as the last name and the second half is treated as the first name.
Reading SOUND: Designates a text string to be set as the kana name in the phonebook. (0 or more characters) When a field is divided by a comma (,), the first half is treated as the last name and the second half is treated as the first name.
TEL TEL: Designates a text string to be set as the telephone number in the phonebook. (1 to 24 digits)
TEL-AV TEL-AV: Designates a text string to be set as the videophone number in the phonebook. (1 to 24 digits)
E-mail EMAIL: Designates a text string to be set as the e-mail address in the phonebook. (0 or more characters)
Memo NOTE: Designates a text string to be set as the memo in the phonebook. (0 or more characters)
Birthday BDAY: Designates a text string to be set as the birthday in the phonebook. (8 digits) The 8 digits consist of the year (4 digits), month (2 digits) and day (2 digits), in order.
Address ADR: Designates a text string to be set as the address in the phonebook. (0 or more characters) The fields divided by commas (,) denote PO box, room number, house number, city, prefecture, zip code and country, in order.
URL URL: Designates a text string to be set as the homepage URL in the phonebook. (0 or more characters)
Nickname NICKNAME: Designates a text string to be set as the nickname in the phonebook. (0 or more characters)

上面是MECARD的格式,是日本的docomo公司制定的,一般手机应该都能用,详细的说明文档在

还有其他俩种:VCARD 或 MEMORY 格式,Vcard这个比较常见,文档在这!

举俩个例子: 1.

MECARD:URL:http://www.liero.tk;EMAIL:liero@liero.tk;NOTE:I'm an EE Student;NICKNAME:Liero;;

2.

MECARD:N:陈某某;ORG:某某有限公司;TIL:人事经理;TEL:13800138000;URL:weibo.com/siphp;DIV:siphp;EMAIL:xxx@163.com;ADR:中国深圳;NOTE:QQ :123456;;

一般这个是和二维码QR Code

来源:http://myshilin163.blog.163.com/blog/static/27632725201252694145654/

更多0

相关主题推荐
二维码电子邮件二进制格式化application
相关博文推荐
手机程序PowaTag或将开启购物新模式
Android 4.2 原生系统有哪些方...
常德治肝癌大概需要多少费用
常德好的肝癌医院是哪个?
H.264/AVC MOTION EST...
更新版本注意事项
字符串模板
 

查看评论
2楼 泽柄李双 2014-02-21 11:38发表[回复] [引用] [举报]
非常不错!
1楼 Sasoritattoo 2013-12-04 15:14发表[回复] [引用] [举报]
不错哈~~谢谢~~
 
 
您还没有登录,请[登录][注册]
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
 

个人资料

 
 
    • 访问:1569824次
    • 积分:18264分
    • 排名:第105名
    • 原创:379篇
    • 转载:71篇
    • 译文:1篇
    • 评论:1283条
文章搜索
文章存档

展开
推荐文章
最新评论

软件开发

图书出版

 
 
公司简介|招贤纳士|广告服务|银行汇款帐号|联系方式|版权声明|法律顾问|问题报告|合作伙伴|论坛反馈
客服1 客服2 微博客服 webmaster@csdn.net 400-600-2320
京 ICP 证 070598 号
北京创新乐知信息技术有限公司 版权所有
江苏乐知网络技术有限公司 提供商务支持
Copyright © 1999-2014, CSDN.NET, All Rights Reserved
 
您有0条新通知

 

 
更多相关资源:二维码通讯录手机

二维码名片的格式 - vcard(非常好,可直接添加到手机通讯录)的更多相关文章

  1. 利用google api生成二维码名片例子

    二维条码/二维码可以分为堆叠式/行排式二维条码和矩阵式二维条码.堆叠式/行排式二维条码形态上是由多行短截的一维条码堆叠而成:矩阵式二维条码以矩阵的形式组成,在矩阵相应元素位置上用“点”表示二进制“1” ...

  2. 利用google api生成二维码名片

    利用google api生成二维码名片 二维条码/二维码可以分为堆叠式/行排式二维条码和矩阵式二维条码.堆叠式/行排式二维条码形态上是由多行短截的一维条码堆叠而成:矩阵式二维条码以矩阵的形式组成,在矩 ...

  3. C#生成二维码名片

    摘自<31天学会CRM项目开发<C#编程入门级项目实战>> 本例将使用ThoughtWorks.QRCode类库生成二维码名片.正式编码前,先了解一下什么是vCard?它是一种 ...

  4. ThoughtWorks.QRCode 生成二维码名片(实现二维码内容换行)

    最近在写一个很简单的功能,按照Vcard的格式,生成二维码名片.本来以为分分钟完事的事情,替换数据,直接调用dll去生成二维码. 测试时,发现生成的二维码使用微信扫描得到的名片信息为空,反向解析发现, ...

  5. 二维码相关---java生成二维码名片,而且自己主动保存到手机通讯录中...

    版权声明:本文为博主原创文章,未经博主credreamer 同意不得转载 违者追究法律责任. https://blog.csdn.net/lidew521/article/details/244418 ...

  6. JAVA开发--[二维码名片生成系统]

    上个月学校有个软件创新杯,最近看了网上很火的二维码比较不错.参考了国内国外一些技术文章,发现国外的确实好很多. 用的是QRcode包来实现的,基本常见的功能全部实现了. 因为刚学2个月,部分做得不是很 ...

  7. 实现手机扫描二维码页面登录,类似web微信-第三篇,手机客户端

    转自:http://www.cnblogs.com/fengyun99/p/3541254.html 上一篇,介绍了二维码生成的机制,紧接着,我们就要开发手机客户端来识别这个二维码. 二维码,实际上是 ...

  8. 二维码相关---java生成二维码名片,并且自动保存到手机通讯录中...

    http://blog.csdn.net/lidew521/article/details/24441825

  9. 利用vcard和qrcode.js生成二维码导入联系人

    vCard是一种容许交换个人信息的数据规范,vCard数据格式的标识符是VCARD,vCard数据格式行是: 类型 [;参数]:值,具体的介绍百度都有,我们可以通过vcard来进行通讯录的保存,名片的 ...

随机推荐

  1. Hadoop Ambari 安装

    ambari 1.2.4 下载地址:http://www.apache.org/dist/incubator/ambari/ambari-1.2.4/ambari-1.2.4-incubating.t ...

  2. UVA-1572 Self-Assembly (图+拓扑排序)

    题目大意:每条边上都有标号的正方形,两个正方形能通过相匹配的边连接起来,每种正方形都有无限多个.问能否无限延展下去. 题目分析:将边视为点,正方形视为边,建立无向图,利用拓扑排序判断是图否为DAG. ...

  3. [转载]浏览器中输入url 并且按下回车之后发生了什么?

    解析URL 浏览器通过 URL 能够知道下面的信息: Protocol "http" 使用HTTP协议 Resource "/" 请求的资源是主页(index) ...

  4. 浅谈jsonp

    要谈jsonp,首先要弄明白jsonp是什么,它是用来干嘛的.jsonp其实就是我们常用的script标签,用来解决跨域的,只不过这个标签是动态创建的,为啥要动态创建涅. 举个小栗子: 假如我们远程文 ...

  5. rabbitmq之window环境启动

    rabbitmq启动方式有2种 1.以应用方式启动 rabbitmq-server -detached 后台启动 Rabbitmq-server 直接启动,如果你关闭窗口或者需要在改窗口使用其他命令时 ...

  6. 【LeetCode 222_完全二叉树_遍历】Count Complete Tree Nodes

    解法一:递归 int countNodes(TreeNode* root) { if (root == NULL) ; TreeNode *pLeft = root->left; TreeNod ...

  7. window.onload 和 body.onload 相互覆盖的本质

    从根源上讲,window.onload和<body onload="alert('test');"> 所绑定的对象都是window ,body是没有onload事件的, ...

  8. MySQL数据引擎InnoDB和MyISAM互相转换

    MySQL(或者社区开源fork的MariaDB)5.5以上支持InnoDB引擎,并将其作为默认数据库引擎.InnoDB带来很多改进,但是对系统资源占用明显增加,对于还在128MB-512MB内存VP ...

  9. Jenkins部署war包到tomcat7,报错

    1.部署tomcat7,报错,信息如下: [JENKINS] Archiving /opt/.jenkins/jobs/qxpt_jx-deploy/workspace/pom.xml to com. ...

  10. Java并发编程之三:volatile关键字解析 转载

    目录: <Java并发编程之三:volatile关键字解析 转载> <Synchronized之一:基本使用>   volatile这个关键字可能很多朋友都听说过,或许也都用过 ...