二维码名片制作:MECARD 和 vCard
二維碼名片制作:MECARD 和 vCard 的格式定義
- MECARD
- 基本定義
- 字段定義
- 示例
- vCard
- vCard 數據格式的標識符
- vCard基礎格式定義
- vCard數據行格式
- 預定義類型的用法
- BEGIN,END
- SOURCE
- NAME
- PROFILE
- 基本類型
- FN
- N
- NICKNAME
- PHOTO
- BDAY
- 通訊地址類型
- ADR
- LABEL
- 電信通信類型
- TEL
- 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 name和last name。逗號前是last name。分隔的功能根據掃碼軟件不同效果不同,有的會忽略逗號并不分隔,有的會將逗號作為名稱的一部分。 |
| 讀音 | SOUND | 因為此碼的定義公司是日本的,這個字段主要作用是注明片假名讀音使用,也可以和N一樣使用逗號分隔。大部分中文掃碼軟件不支持此字段。 |
| 職位 | TIL | 未知字數上限 |
| 電話 | TEL | 支持1至24個數字 |
| 可視電話 | TEL-AV | 同TEL |
| 郵箱 | 未知字數上限 | |
| 備注 | NOTE | 未知字數上限 |
| 生日 | BDAY | 8位數字,4位年2位月2位日 |
| 地址 | ADR | 未知字數上限,按照英語國家習慣會將國家、州縣、市區、街道、房號等分開,可以使用逗號,進行分隔。分隔功能部分中文掃碼軟件支持。 |
| 網址 | URL | 未知字數上限,但是不能填寫協議(http://)和萬維網標識(www)。 |
| 昵稱 | NICKNAME | 未知字數上限,部分中文掃碼軟件支持此字段。 |
示例
MECARD:N:張,三;SOUND:zhangsan;TEL:13999999999;TEL-AV:13888888888;EMAIL:xxxxxxxx@163.com;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.0 或 VERSION:2.1。
vCard 對象必須包含FN、N和VERSION類型
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;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
目的:指定按照 FN 或 N 中的哪段進行排序,而非首字母排序
例如:
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:JOHNQPUBLIC.part8.19960229T080000.xyzMail@host1.com
- 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:forrestgump@walladalla.com REV:20080424T195243Z END:VCARD3.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:forrestgump@example.com REV:20080424T195243Z END:VCARD總結
以上是生活随笔為你收集整理的二维码名片制作:MECARD 和 vCard的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Python开发】8. 文件操作
- 下一篇: 模拟简易二维码的形成