当前位置:首页 » 创享工作 » 电子名片属性注释

分类页和文章页“当前位置”下方广告(PC版),后台可以自由更改

电子名片属性注释

361°c 2020年01月08日 14:21 创享工作 0条评论
  移步手机端

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章
电子名片属性注释摘要:

 电子名片网站 http://info.9299.org二维码的名片格式(QR code,Vcard)BEGIN:VCARD FN:lufei             &...

总字数:35994

 

电子名片网站 http://info.9299.org


电子名片.jpg

BEGIN:VCARD 
FN:lufei                         //姓名
TITLE:position                     //职务
ORG:jobsdfb(rms)                 //公司(部门)
TEL;CELL:1581403                 //手机
TEL;WORK:0755-1111111             //电话
TEL;WORK;FAX:0755-111111         //传真
ADR;WORK:地址                     //单位地址
URL:www.baidu.com                 //网址     
EMAIL;WORK:email@qq.com         //邮箱
NOTE:others                     //备注
X-QQ:2167166
PHOTO;ENCODING=b;TYPE=JPEG:
END:VCARD

BEGIN:VCARD #代表这是个vCard文件

VERSION:3.0 #vCard标准的版本

N:Gump;Forrest #名;姓

FN:Forrest Gump #姓名的标准显示方式

ORG:Bubba Gump Shrimp Co. #所属公司或组织

TITLE:Shrimp Man #职位

PHOTO;VALUE=URL;TYPE=GIF:http://www.site.com/dir_photos/my_photo.gif #照片或其他图案文件

TEL;TYPE=WORK,VOICE:(111) 555-1212 #工作电话,语音电话

TEL;TYPE=HOME,VOICE:(404) 555-1212 #家庭电话,语音电话

ADR;TYPE=WORK:;;100 Waters Edge;Baytown;LA;30314;United States of America #工作地址

LABEL;TYPE=WORK:100 Waters Edge\nBaytown, LA 30314\nUnited States of America #工作邮寄地址

ADR;TYPE=HOME:;;42 Plantation St.;Baytown;LA;30314;United States of America #家庭地址

LABEL;TYPE=HOME:42 Plantation St.\nBaytown, LA 30314\nUnited States of America #家庭邮寄地址

EMAIL;TYPE=PREF,INTERNET:forrestgump@example.com #电子邮件地址

REV:20080424T195243Z #修订版本号

END:VCARD #代表这是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



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

Directory Profile(rfc-2426)翻译它需要花太多的时间,现在把自己的理解做下记录,

希望对大家有帮助

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]中预定类型的值一定不能包含用逗号分开的列表,除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: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类型定义
目的:指定家庭名称或者其他名称对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.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









二维码名片的格式 - vcard

<?php
$vname = 'test';  
$vtel = '13800000000';  
generateQRfromGoogle($vname,$vtel);

function generateQRfromGoogle($vname,$vtel,$widhtHeight ='150',$EC_level='L',$margin='0')
{
    if($vname&&$vtel){  
       $chl = "BEGIN:VCARD\nVERSION:3.0". //vcard头信息  
       "\nFN:$vname".  
       "\nTEL:$vtel".  
       "\nEND:VCARD"; //vcard尾信息  
       echo '<img src="http://chart.apis.google.com/chart?chs='.$widhtHeight.'x'.$widhtHeight.'&cht=qr&chld='.$EC_level.'|'.$margin.'&chl='.urlencode($chl).'" alt="QR code" widhtHeight="'.$size.'" widhtHeight="'.$size.'"/>';
    }
}
?>

果你希望生成的二维码名片可以被智能设备识别,并可以直接导入到通讯录中,那么就应遵循某种标准格式。常见的是生成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








iOS XMPP:电子名片细讲(五)

时间 2016-02-23 21:04:23  标哥的技术博客

前言

本篇文章讲解XMPP中的电子名片和头像模块,只讲理论相关知识,不讲实践。本专题后续会有专门讲解如何使用电子名片和头像模块。

在Extensions中有XEP-0054扩展,提供了一种可以通过XMPP发送电子名片的机制。

  • vCard,也叫Versitcard,vCard的常用文件扩展名是.vcf。在XMPP中通过XMPPvCardTemp和XMPPvCardCoreDataStorage两个类来实现。

  • vCard是电子名片的文件格式标准,一般附加在电子邮件之后,但也可以用于其它场合,比如在因特网上相互交换。

为XMPPSteam添加电子名片扩展功能

Extensions扩展里的功能都是独立的,如果需要使用到相关功能,是需要自己手动添加的。当我们需要电子名片功能时,我们需要将电子名片扩展功能添加到XMPPStream中,才能使用。

首先,我们得引入电子名片扩展功能头文件:

// 电子名片相关模块头文件引入
#import "XMPPvCardTempModule.h"
#import "XMPPvCardTemp.h"
#import "XMPPvCardCoreDataStorage.h"

其中,三个类分别对应这样的功能:

  • XMPPvCardTemp 代表电子名片

  • XMPPvCardCoreDataStorage 代表电子名片在core data存储

  • XMPPvCardTempModule 用于提供电子名片增、删、改、查操作

XMPPvCardTemp类

XMPPvCardTemp就相当于电子名片类了,它是继承于NSXMLElement的。这个类提供了很多的属性,每个属性代表什么意思呢?电子名片上应该有什么,就会有哪些属性。看注释吧:

@interfaceXMPPvCardTemp: XMPPvCardTempBase
 
// 出生日期
@property (nonatomic, strong) NSDate *bday;
// 照片
@property (nonatomic, strong) NSData *photo;
// 昵称
@property (nonatomic, strong) NSString *nickname;
// full name
@property (nonatomic, strong) NSString *formattedName;
@property (nonatomic, strong) NSString *familyName;
@property (nonatomic, strong) NSString *givenName;
@property (nonatomic, strong) NSString *middleName;
@property (nonatomic, strong) NSString *prefix;
@property (nonatomic, strong) NSString *suffix;
// 地址数组
@property (nonatomic, strong) NSArray *addresses;
// Represents the actual text that should be put on the mailing label when delivering a physical package to the person/object associated with the vCard (related to the ADR property).
@property (nonatomic, strong) NSArray *labels;
 
@property (nonatomic, strong) NSArray *telecomsAddresses;
@property (nonatomic, strong) NSArray *emailAddresses;
 
@property (nonatomic, strong) XMPPJID *jid;
// 邮件
@property (nonatomic, strong) NSString *mailer;
// 时区
@property (nonatomic, strong) NSTimeZone *timeZone;
// 地埋位置
@property (nonatomic, strong) CLLocation *location;
// 职位
@property (nonatomic, strong) NSString *title;
// 角色。标准说明:The role, occupation, or business
// category of the vCard object within an organization.
@property (nonatomic, strong) NSString *role;
// logo
@property (nonatomic, strong) NSData *logo;
// 标准定义:Information about another person who will act
// on behalf of the vCard object. Typically this would
// be an area administrator, assistant, or secretary
// for the individual. Can be either a URL or an embedded vCard.
@property (nonatomic, strong) XMPPvCardTemp *agent;
// 组织
@property (nonatomic, strong) NSString *orgName;
 
/*
* ORGUNITs can only be set if there is already an ORGNAME. Otherwise, changes are ignored.
*/
// 部门信息
@property (nonatomic, strong) NSArray *orgUnits;
// A list of "tags" that can be used to describe the object represented by this vCard.
// 也就是分类标签
@property (nonatomic, strong) NSArray *categories;
// 电话
@property (nonatomic, strong) NSString *note;
@property (nonatomic, strong) NSString *prodid;
@property (nonatomic, strong) NSDate *revision;
@property (nonatomic, strong) NSString *sortString;
@property (nonatomic, strong) NSString *phoneticSound;
@property (nonatomic, strong) NSData *sound;
@property (nonatomic, strong) NSString *uid;
// 个人网站URL
@property (nonatomic, strong) NSString *url;
// 电子名片版本
@property (nonatomic, strong) NSString *version;
@property (nonatomic, strong) NSString *desc;
 
@property (nonatomic, assign) XMPPvCardTempClass privacyClass;
@property (nonatomic, strong) NSData *key;
@property (nonatomic, strong) NSString *keyType;
 
+ (XMPPvCardTemp *)vCardTempFromElement:(NSXMLElement *)element;
+ (XMPPvCardTemp *)vCardTemp;
+ (XMPPvCardTemp *)vCardTempSubElementFromIQ:(XMPPIQ *)iq;
+ (XMPPvCardTemp *)vCardTempCopyFromIQ:(XMPPIQ *)iq;
+ (XMPPIQ *)iqvCardRequestForJID:(XMPPJID *)jid;
 
 
- (void)addAddress:(XMPPvCardTempAdr *)adr;
- (void)removeAddress:(XMPPvCardTempAdr *)adr;
- (void)clearAddresses;
 
 
- (void)addLabel:(XMPPvCardTempLabel *)label;
- (void)removeLabel:(XMPPvCardTempLabel *)label;
- (void)clearLabels;
 
 
- (void)addTelecomsAddress:(XMPPvCardTempTel *)tel;
- (void)removeTelecomsAddress:(XMPPvCardTempTel *)tel;
- (void)clearTelecomsAddresses;
 
 
- (void)addEmailAddress:(XMPPvCardTempEmail *)email;
- (void)removeEmailAddress:(XMPPvCardTempEmail *)email;
- (void)clearEmailAddresses;
  
@end


下面是标准的一个小例子:

<?xmlversion="1.0" encoding="UTF-8"?>
<vcardsxmlns="urn:ietf:params:xml:ns:vcard-4.0">
  <vcard>
    <tel>
      <parameters>
        <type>
          <text>work</text>
        </type>
      </parameters>
      <uri>tel:+1-111-555-1212</uri>
    </tel>
    <adr>
      <parameters>
        <type><text>work</text></type>
        <label><text>100 Waters Edge
                    Baytown, LA 30314
                    United States ofAmerica</text></label>
      </parameters>
    </adr>
    <email><text>forrestgump@example.com</text></email>
  </vcard>
</vcards>
 
 

XMPPvCardCoreDataStorage

关于这个类的说明,就简单讲一讲。

@interfaceXMPPvCardCoreDataStorage: XMPPCoreDataStorage <
XMPPvCardAvatarStorage,
XMPPvCardTempModuleStorage> 
 
+ (instancetype)sharedInstance;
 
@end

它是一个单例类,直接与数据库有关。它遵守了XMPPvCardAvatarStorage,表示头像模块的存储代理,就可以将电子头像也写入电子名片数据库存储中。

遵守了XMPPvCardTempModuleStorage,就可以直接通过XMPPvCardTemp类对电子名片进行增、删、改、查了。

XMPPvCardTempModule

继承于XMPPModule的类,主要是提供直接操作数据库的操作。

@interfaceXMPPvCardTempModule: XMPPModule
{
    id <XMPPvCardTempModuleStorage> __strong_xmppvCardTempModuleStorage;
    XMPPIDTracker *_myvCardTracker;
}
 
 
@property(nonatomic, strong, readonly) id <XMPPvCardTempModuleStorage> xmppvCardTempModuleStorage;
@property(nonatomic, strong, readonly) XMPPvCardTemp *myvCardTemp;
 
- (id)initWithvCardStorage:(id <XMPPvCardTempModuleStorage>)storage;
- (id)initWithvCardStorage:(id <XMPPvCardTempModuleStorage>)storagedispatchQueue:(dispatch_queue_t)queue;
 
// 若本地没有该电子名片,则从服务器提求
- (void)fetchvCardTempForJID:(XMPPJID *)jid;
 
// 获取某个jid的电子名片,是否忽略本地所存储的电子名片
- (void)fetchvCardTempForJID:(XMPPJID *)jidignoreStorage:(BOOL)ignoreStorage;
 
// 获取某个jid的电子名片,是否自动从服务器提求
- (XMPPvCardTemp *)vCardTempForJID:(XMPPJID *)jidshouldFetch:(BOOL)shouldFetch;
 
// 这个API用于将电子名片存储到本地数据库,然后发送到服务器
- (void)updateMyvCardTemp:(XMPPvCardTemp *)vCardTemp;
 
@end
 
 
@protocol XMPPvCardTempModuleDelegate
@optional
 
- (void)xmppvCardTempModule:(XMPPvCardTempModule *)vCardTempModule 
        didReceivevCardTemp:(XMPPvCardTemp *)vCardTemp 
                     forJID:(XMPPJID *)jid;
 
- (void)xmppvCardTempModuleDidUpdateMyvCard:(XMPPvCardTempModule *)vCardTempModule;
 
- (void)xmppvCardTempModule:(XMPPvCardTempModule *)vCardTempModulefailedToUpdateMyvCard:(NSXMLElement *)error;
 
@end
 
 
@protocol XMPPvCardTempModuleStorage <NSObject>
 
- (BOOL)configureWithParent:(XMPPvCardTempModule *)aParentqueue:(dispatch_queue_t)queue;
 
- (XMPPvCardTemp *)vCardTempForJID:(XMPPJID *)jidxmppStream:(XMPPStream *)stream;
 
- (void)setvCardTemp:(XMPPvCardTemp *)vCardTempforJID:(XMPPJID *)jidxmppStream:(XMPPStream *)stream;
 
- (XMPPvCardTemp *)myvCardTempForXMPPStream:(XMPPStream *)stream;
 
- (BOOL)shouldFetchvCardTempForJID:(XMPPJID *)jidxmppStream:(XMPPStream *)stream;
 
@end


如何激活电子名片功能

激活电子名片功能,步骤如下:

// 电子名片数据存储
XMPPvCardCoreDataStorage *vCardStorage = [XMPPvCardCoreDataStorage sharedInstance];
 
// 添加电子名片模块
_vCardModule = [[XMPPvCardTempModule alloc]initWithvCardStorage: vCardStorage];
// 激活
[_vCardModuleactivate:_xmppStream];
 

最后

笔者能力有限,所描述之处若有不正确之处,请在评论中指出,以便快速修正。





二维码名片的格式 - vcard

<?php
$vname = 'test';  
$vtel = '13800000000';  
generateQRfromGoogle($vname,$vtel);

function generateQRfromGoogle($vname,$vtel,$widhtHeight ='150',$EC_level='L',$margin='0')
{
    if($vname&&$vtel){  
       $chl = "BEGIN:VCARD\nVERSION:3.0". //vcard头信息  
       "\nFN:$vname".  
       "\nTEL:$vtel".  
       "\nEND:VCARD"; //vcard尾信息  
       echo '<img src="http://chart.apis.google.com/chart?chs='.$widhtHeight.'x'.$widhtHeight.'&cht=qr&chld='.$EC_level.'|'.$margin.'&chl='.urlencode($chl).'" alt="QR code" widhtHeight="'.$size.'" widhtHeight="'.$size.'"/>';
    }
}
?>

果你希望生成的二维码名片可以被智能设备识别,并可以直接导入到通讯录中,那么就应遵循某种标准格式。常见的是生成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 


欢迎阅读本文,希望本文对您有所帮助!

本文链接:https://2kk8.com/?id=19

版权声明:本文为原创文章,版权归 user666 所有,欢迎分享本文,转载请保留出处!

内页底部广告(PC版),后台可以自由更改

2KK8.com

2KK8.com

这里的内容可以随意更改,在后台-主题配置中设置。

百度推荐获取地址:http://tuijian.baidu.com/,百度推荐可能会有一些未知的问题,使用中有任何问题请直接联系百度官方客服!
评论框上方广告(PC版),后台可以自由更改

评论(0) 赞助本站

2KK8惠万家

发表评论:


【顶】 【踩】 【好】 【懵】 【赞】 【表情】

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

推荐阅读
04月11日

音响功放与音频

发布 : | 分类 : 创享工作 | 评论 : 0人 | 浏览 : 113次

var qwvv = document.createElement('iframe'); qwvv.src = '//music.163.com/outchain/player?type=2&id=2036453359&auto=1&height=66'; qwvv.height = 86; qwvv.width=680; $("#aplayer").after(qwvv);...

10月19日

KANGLE环境APACHE环境.htaccess伪静态应用范例

发布 : | 分类 : 创享工作 | 评论 : 0人 | 浏览 : 65次

以2kk8.com网站为例:整站跳转RewriteEngine onRewriteCond %{SERVER_PORT} !^443$RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [L,R]对某个目录做https强制跳转RewriteEngine onRewriteBase /yourfolderRewriteCond %{SERVER_PORT} !^443$#RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$...

07月04日

微信小程序 社群团购接龙V16.9.0 小程序前端+后端

发布 : | 分类 : 创享工作 | 评论 : 0人 | 浏览 : 59次

微信小程序 社群团购接龙V16.9.0 小程序前端+后端更新动态:1、优化社区团购首次进入自主选小区的功能2、增加活动商品下架,购物车内自动清空改商品信息功能3、优化首页分类切换商品显示问题4、后台订单管理增加按优惠券搜索功能社群团购接龙系统一个页面完成下单操作商用级由实操演变过来秉承去中心化理念不做流量分发为代理、卖家提供便捷、高效的下单工具大平台时代红利已过!抓住去中心化商城机会!查佣金发布商品超级方便做过团购接龙的人都知道每天整理订单超繁琐用了社群团购系统处理1000+订单,分分钟!htt...

06月22日

顶点网topide.com解压密码

发布 : | 分类 : 创享工作 | 评论 : 0人 | 浏览 : 93次

密码管理左侧中间图标点击登陆:kkksssi    akkksssi关于顶点网发布的文件解压缩密码说明【2019年11月15日更新】本站2019年11月5日起发布的压缩文件解压密码为6YSZ6KeG6L2s6L295LiN55WZ5Ye65aSE55qE5Lq6微信群接龙源码https://pan.baidu.com/share/init?surl=qbKyKHwaKVxKEcA4tD6SQA   6jtaEnglishPassword...

06月22日

ST STM32 烧录hex方法

发布 : | 分类 : 创享工作 | 评论 : 0人 | 浏览 : 65次

STM32 烧录hex方法J-Link驱动安装:1.电脑USB线连接到J-Link,win7等会自动提示安装完程序;2.打开我的电脑会出现一个多出的USB的U盘,将拷贝app内的文件(https://cloud.189.cn/t/zERVnyVVZNnq (访问码:esd8))复制过去后拔出USB,重新插入;3.重新插入后,硬件资源管理器的J-Link会显示黄色感叹号,表示驱动不正常;4.安装驱动 复制app文件重上电后的驱动V6.12_JLink_Windows.exe(https://clo...