大可山博客[GDI+,WPF, .Net图形图像]
WPF,WinForms,asp.net开发,图形图像处理系统研究[信奉:凡事靠自己] QQ:329325120
二维码名片的格式 - 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
上面是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/
- 相关主题推荐
- 二维码电子邮件二进制格式化application
- 相关博文推荐
- 手机程序PowaTag或将开启购物新模式
- Android 4.2 原生系统有哪些方...
- 常德治肝癌大概需要多少费用
- 常德好的肝癌医院是哪个?
- H.264/AVC MOTION EST...
- 更新版本注意事项
- 字符串模板
- 1楼 Sasoritattoo 2013-12-04 15:14发表[回复] [引用] [举报]
- 不错哈~~谢谢~~
核心技术类目
- 2013年04月(3)
- 2013年03月(2)
- 2013年02月(1)
- 2013年01月(15)
- 2012年12月(12)
- 2012年11月(6)
- 2012年10月(8)
- 2012年09月(12)
- 2012年08月(3)
- 2012年07月(2)
- 2012年03月(1)
- 2011年12月(1)
- 2011年08月(1)
- 2011年07月(1)
- 2011年05月(1)
- 2011年04月(6)
- 2011年03月(1)
- 2011年02月(2)
- 2011年01月(1)
- 2010年12月(1)
- 2010年11月(1)
- 2010年10月(2)
- 2010年09月(5)
- 2010年07月(1)
- 2010年03月(1)
- 2010年01月(1)
- 2009年12月(1)
- 2009年09月(4)
- 2009年08月(2)
- 2009年07月(4)
- 2009年05月(3)
- 2009年04月(3)
- 2009年03月(2)
- 2009年02月(6)
- 2009年01月(11)
- 2008年12月(10)
- 2008年11月(7)
- 2008年08月(5)
- 2008年07月(3)
- 2008年06月(8)
- 2008年05月(14)
- 2008年04月(28)
- 2008年03月(16)
- 2008年02月(2)
- 2008年01月(4)
- 2007年12月(5)
- 2007年11月(17)
- 2007年10月(16)
- 2007年09月(23)
- 2007年08月(36)
- 2007年07月(12)
- 2007年06月(6)
- 2007年01月(2)
- 2006年12月(7)
- 2006年11月(3)
- 2006年08月(2)
- 2006年07月(1)
- 2006年06月(1)
- 2006年05月(8)
- 2006年04月(1)
- 2006年03月(7)
- 2006年02月(8)
- 2006年01月(9)
- 2005年12月(1)
- 2005年11月(3)
- 2005年10月(7)
- 2005年09月(1)
- 2005年08月(12)
- 2005年07月(1)
- 2005年03月(3)
- 2005年02月(3)
- 2005年01月(3)
- 2004年12月(23)
- 手把手教你学五笔打字输入法之1(如何快速巧记五笔字型字根表篇)(121387)
- 手把手教你写专利申请书/如何申请专利(85477)
- 万年历程序中十二生肖排列顺序及算法(51094)
- 图书条形码跟ISBN号互相转换的类(续)(15639)
- 带农历的中国万年历制作(15370)
- WPF中RichTextBox的使用小窍门(翻译、整理)(12624)
- ACCESS中使用GUID全局唯一标识符的自动唯一编号[同步复制ID]之解决方法(12489)
- 贴出最新整理的英语谚语大全(3267条)(12460)
- QRCode二维码生成方案及其在带LOGO型二维码中的应用(2)(12353)
- WPF中制作无边框窗体(12243)
-
通过编程做特别效果的个性“微信”二维码(思路)
zoushizhao:求教:有没有图四那种给嵌入图片加上一个白色边框的方法?这种图片是怎么在java中做出来的?
-
二维码名片的格式 - vcard
bisubisu:非常不错!
-
手把手教你写专利申请书/如何申请专利
oRenLaiRenWang123:大可山 前辈您好。您的文章十分详细用心,感谢您无私奉献。我知道一个创意众包平台 怪奇工厂 guaiq...
-
C#中使用GDI+绘制一把漂亮的直尺(带透明度)
tuoxie303: @johnsuna:BeautifulRuler到底是什么资源,怎么新建ico(空的吗),是$thi...
-
C#彩色艺术化二维码样式设计(仅说思路)
nightwolfzk:生成的二维码里面每一个小矩阵点我都找不到,该怎么去设置显示样式呢!太强大了!不知道楼主什么时候愿意公...
-
手把手教你写专利申请书/如何申请专利
lixiaoyangni:恩,赞一个,国人的骄傲!
-
在Microsoft Expression Blend 2 中绘制圆角矩形按钮
u011984914:使用箭头工具以及Shift,Ctrl,Alt键等的组合键,拖拉此物件至合适的位置及大小(注意将此复制...
-
手把手教你写专利申请书/如何申请专利
chhkj:不错,支持,感谢!
-
二维码名片的格式 - vcard
Sasoritattoo:不错哈~~谢谢~~
-
常见数据类型的手机二维码生成与识别格式参考
steedhorse:请教一个问题,MeCard标准格式中似乎并没有“企业名称”这一项,但一些二维码名片生成软件(比如La...