VCard 通信薄格式说明
VCard 通信薄格式說明
周鵬
2006-2-21
MAIL:zhoupe@gmail.com
QQ:383942243
?
最在網絡上面查找關于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,JimmiePHOTO類型定義
目的: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=bBDAY類型定義
目的:表示出生日期例子: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;AADR;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.comTYPE參數的使用"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.jpgLOGO;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.comAGENT: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.0Security 類型
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
?
?
??
轉載于:https://www.cnblogs.com/zhoup/archive/2006/02/21/334798.html
總結
以上是生活随笔為你收集整理的VCard 通信薄格式说明的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ajax初体验(一)
- 下一篇: 让心与心交融