二维码名片制作:MECARD 和 vCard

二维码名片制作:MECARD 和 vCard 的格式定义

  • MECARD
    • 基本定义
    • 字段定义
    • 示例
  • vCard
    • vCard 数据格式的标识符
    • vCard基础格式定义
    • vCard数据行格式
    • 预定义类型的用法
      • BEGIN,END
      • SOURCE
      • NAME
      • PROFILE
    • 基本类型
      • FN
      • N
      • NICKNAME
      • PHOTO
      • BDAY
    • 通讯地址类型
      • ADR
      • LABEL
    • 电信通信类型
      • TEL
      • EMAIL
      • MAILER
    • 地理类型
      • TZ
      • GEO
    • 组织类型
      • TITLE
      • ROLE
      • LOGO
      • AGENT
      • ORG
    • 解释类型
      • CATEGORIES
      • NOTE
      • PRODID
      • REV
      • SORT-STRING
      • SOUND
      • UID
      • URL
      • VERSION
    • 安全类型
      • CLASS
      • KEY
    • 扩展类型
    • 完整示例
      • 2.1版
      • 3.0版

随着二维码的流行, 二维码名片能够直接保存到移动端通讯录,也逐渐流行起来。

部分二维码生成软件能够直接生成二维码名片,但是可以使用的字段数量有限。自定义二维码名片就比较灵活了。

二维码名片其实也是根据一定规则排列的字符,知道格式定义后,无论使用二维码生成软件还是自己编程生成二维码,都很方便。

目前比较常见使用较多的二维码名片格式分别为 MECARD 和 vCard 两种。

需注意的是,无论哪种格式,其定义字符均为半角大写英文字符。如果文本中需要使用到定义字符,例如 , , : , ; 等,需要加反斜杠转义。

MECARD

MECARD 是日本docomo公司定义的,格式较为简单

基本定义

MECARD 格式由 MECARD: 起始,每个字段由组成,键值由冒号 : 分隔,字段结束由分号 ; 确定。

字段定义

字段的定义其实就是的含义,也就是在通讯录里保存的字段名。常用的有

通讯录字段名 数据定义
名称 N 如果是英文名称,可以以逗号,分隔first namelast name。逗号前是last name。分隔的功能根据扫码软件不同效果不同,有的会忽略逗号并不分隔,有的会将逗号作为名称的一部分。
读音 SOUND 因为此码的定义公司是日本的,这个字段主要作用是注明片假名读音使用,也可以和N一样使用逗号分隔。大部分中文扫码软件不支持此字段。
职位 TIL 未知字数上限
电话 TEL 支持1至24个数字
可视电话 TEL-AV TEL
邮箱 EMAIL 未知字数上限
备注 NOTE 未知字数上限
生日 BDAY 8位数字,4位年2位月2位日
地址 ADR 未知字数上限,按照英语国家习惯会将国家、州县、市区、街道、房号等分开,可以使用逗号,进行分隔。分隔功能部分中文扫码软件支持
网址 URL 未知字数上限,但是不能填写协议(http://)和万维网标识(www)。
昵称 NICKNAME 未知字数上限,部分中文扫码软件支持此字段。

示例

MECARD:N:张,三;SOUND:zhangsan;TEL:13999999999;TEL-AV:13888888888;EMAIL:[email protected];NOTE:这里是备注,可以随便写;BDAY:19990909;ADR:这里是地址,可以随便写;URL:abc.xxxxxxxxxxxxx.com.cn;NICKNAME:小张;

vCard

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

vCard标准的2.1版(RFC 2425)被电子邮件客户端广泛支持。3.0版是一个包含在RFC 2425和RFC 2426中的IETF标准跟踪提案。4.0版(RFC 6350)是最新版本,但是目前实际上 3.0 版是最常用的格式。

vCard 数据格式的标识符

  • 预定义的值类型:uri, date, date-time, float
  • 增加的值类型:binary, phone-number, utc-offset and vcard value specifications
  • 预定义的类型: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基础格式定义

vCard 必须以 BEGIN:VCARD 开头,以 END:VCARD 结尾。定义第二行为版本号 VERSION:3.0VERSION:2.1

vCard 对象必须包含FN、NVERSION类型

vCard数据行格式

vCard 每行数据的格式为: 类型[;参数]:
例如:
ADR;HOME;POSTAL;PARCEL:;;街道地址;深圳;广东;433330;中国

标识符 含义
ADR 类型
; 分隔符
;HOME;POSTAL;PARCEL 参数,表示ADR的用途或类别
: 分隔符,表示之后的是此类型的值
:;;街道地址;深圳;广东;433330;中国 类型的值

预定义类型的用法

BEGIN,END

vCard 必须以 BEGIN:VCARD 开头,以 END:VCARD 结尾。

SOURCE

类型用途:其值提供如何查找vCard源的信息
其值类型:uri
类型使用情况:很少使用

NAME

类型用途:与vCard源关联的可显示演示文本
其值类型:text
类型使用情况:很少使用

PROFILE

类型用途:标识内容类型中的信息所属的目录实体的类型,其值必须使用 vCard
类型使用情况:很少使用

基本类型

FN

目的:vcard对象的名称,一个vcard对象必须包含FN类型。
例子:FN:Mr. John Q. Public, Esq.

N

目的: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对象的图像信息
ENCODING:默认是 uri,可以显式指定为 b,表示编码为内联的二进制数据
VALUE:默认是二进制值,可以显式指定为 uri 的值
TYPE:指定图像格式(主要用于内联二进制使用)

例子:

PHOTO;VALUE=uri:http://www.abc.com/pub/photos/jqpublic.gif
PHOTO;ENCODING=b;TYPE=JPEG:MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcNAQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bmljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0

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(国家)

TYEP参数说明:

  • “dom” 国内地址
  • “intl” 国际地址
  • “postal” 邮政递送地址
  • “parcel” 包裹递送地址
  • “home” 居住地址;
  • “work” 工作地址;
  • “pref” 有多个地址的时候,首选送达地址

缺省"TYPE=intl,postal,parcel,work",可以替换

LABEL

目的:是一格式化的文本值,表示一个地址
例子:
LABEL;TYPE=dom,home,postal,parcel:Mr.John Q. Public/, Esq./nMail Drop: TNE QB/n123 Main Street/nAny Town/, CA 91921-1234/nU.S.A.

类似于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” 个人通信服务电话

TYPE参数的缺省值是"voice",格式类似于ADR,可以替换。

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(utc偏移量)值,也可以设置为单个文本值。

GEO

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

组织类型

TITLE

目的:工作职务(job title)
例子:TITLE:Director, Research and Development

ROLE

目的:职业角色(occupation)
例子:ROLE:Programmer

LOGO

目的:公司logo,是一个图像信息,同PHOTO
例子:LOGO;VALUE=uri:http://www.abc.com/pub/logos/abccorp.jpg

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

目的:分类信息,例如旅行社、互联网、IT、工业、信息技术等
例子:

  • CATEGORIES:TRAVEL AGENT
  • CATEGORIES:INTERNET,IETF,INDUSTRY,INFORMATION TECHNOLOGY

NOTE

目的:对vcard的注释和说明
例子:NOTE:This fax number is operational 0800 to 1715EST, 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

SOUND

目的:指定Vcard的数字声音信息,缺省是指定vcard的name类型的发音信息。
例子:

  • SOUND;TYPE=BASIC;VALUE=uri:CID:[email protected]
  • SOUND;TYPE=BASIC;ENCODING=b:MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcNAQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0

类似于PHOTO,可以指定外部 uri 或者使用内联二进制信息

UID

目的:指定一个全局唯一的个人或资源标识。
例子:UID:19950401-080045-40000F192713-0052

URL

目的:指定 vCard 的关联网址。
例子:URL:http://www.swbyps.restaurant.french/~chezchic.html

VERSION

目的:指定本vCard使用的规范版本。
例子: VERSION:3.0

安全类型

CLASS

目的:指定访问Vcard对象的访问分级。例如公共、私人、机密
例子:

  • CLASS:PUBLIC
  • CLASS:PRIVATE
  • CLASS:CONFIDENTIAL
    说明:安全分级需要参考目录服务的访问分级

KEY

目的:指定Vcard的公共钥匙值(加密解密是使用)或者是授权认证。
例子:

KEY;ENCODING=b:MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcNAQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENbW11bmljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0ZW1zMRwwGgYDVQQDExNyb290Y2EubmV0c2NhcGUuY29tMB4XDTk3MDYwNjE5NDc1OVoXDTk3MTIwMzE5NDc1OVowgYkxCzAJBgNVBAYTAlVTMSYwJAYDVQQKEx1OZXRzY2FwZSBDb21tdW5pY2F0aW9ucyBDb3JwLjEYMBYGA1UEAxMPVGltb3RoeSBBIEhvd2VzMSEwHwYJKoZIhvcNAQkBFhJob3dlc0BuZXRzY2FwZS5jb20xFTATBgoJkiaJk/IsZAEBEwVob3dlczBcMA0GCSqGSIb3DQEBAQUAA0sAMEgCQQC0JZf6wkg8pLMXHHCUvMfL5H6zjSk4vTTXZpYyrdN2dXcoX49LKiOmgeJSzoiFKHtLOIboyludF90CgqcxtwKnAgMBAAGjNjA0MBEGCWCGSAGG+EIBAQQEAwIAoDAfBgNVHSMEGDAWgBT84FToB/GV3jr3mcau+hUMbsQukjANBgkqhkiG9w0BAQQFAAOBgQBexv7o7mi3PLXadkmNP9LcIPmx93HGp0Kgyx1jIVMyNgsemeAwBM+MSlhMfcpbTrONwNjZYW8vJDSoi//yrZlVt9bJbs7MNYZVsyF1unsqaln4/vy6Uawfg8VUMk1U7jt8LYpo4YULU7UZHPYVUaSgVttImOHZIKi4hlPXBOhcUQ==

扩展类型

扩展类型以 X- 开头,是一种在合作者之间定义的非标准私有的通信类型,无需外部注册或标准化。

完整示例

2.1版

BEGIN:VCARD
VERSION:2.1
N:Gump;Forrest
FN:Forrest Gump
ORG:Gump Shrimp Co.
TITLE:Shrimp Man
TEL;WORK;VOICE:(111) 555-1212
TEL;HOME;VOICE:(404) 555-1212
ADR;WORK:;;100 Waters Edge;Baytown;LA;30314;United States of America
LABEL;WORK;ENCODING=QUOTED-PRINTABLE:100 Waters Edge=0D=0ABaytown, LA 30314=0D=0AUnited States of America
ADR;HOME:;;42 Plantation St.;Baytown;LA;30314;United States of America
LABEL;HOME;ENCODING=QUOTED-PRINTABLE:42 Plantation St.=0D=0ABaytown, LA 30314=0D=0AUnited States of America
EMAIL;PREF;INTERNET:[email protected]
REV:20080424T195243Z
END:VCARD

3.0版

BEGIN:VCARD
VERSION:3.0
N:Gump;Forrest
FN:Forrest Gump
ORG:Bubba Gump Shrimp Co.
TITLE:Shrimp Man
PHOTO;VALUE=URL;TYPE=GIF:/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:[email protected]
REV:20080424T195243Z
END:VCARD

你可能感兴趣的:(二维码,vCard)