關(guān)于vCard和Symbian上的操作
前陣子關(guān)于Symbian通訊錄操作的時(shí)候曾提到vCard,但是由于當(dāng)時(shí)項(xiàng)目比較緊,所以也沒(méi)有時(shí)間整理,今天特意抽了點(diǎn)時(shí)間小試了一下,發(fā)現(xiàn)很多手機(jī)(我試了下索愛(ài)的和諾基亞的)如果選中通訊錄中的記錄發(fā)送聯(lián)系人或者發(fā)送名片之類的操作,就是會(huì)以vcf文件格式進(jìn)行發(fā)送。不過(guò)手機(jī)上的vcf文件通常是用UTF-8編碼的,所以雖然可以用outlook打開(kāi),但是打開(kāi)之后中文也是亂碼,必須要用特定軟件打開(kāi)才能進(jìn)行編輯,目前我找了很多軟件,但是抱歉得很,還沒(méi)有找到該類能夠編輯中文的軟件。
以下信息摘自百度知道:http://baike.baidu.com/view/495045.htm
vCard其實(shí)是一種數(shù)據(jù)規(guī)范格式,通常后綴名為vcf而已,當(dāng)然也可以存成txt文件。這一規(guī)范容許公開(kāi)個(gè)人數(shù)據(jù)交換 (Personal Data Interchange PDI) 信息,在傳統(tǒng)紙質(zhì)商業(yè)名片可找到這些信息。規(guī)范定義電子名片(或叫vCard)的格式。
vCard規(guī)范可作為各種應(yīng)用或系統(tǒng)之間的交換格式。定義的格式與傳送的方法無(wú)關(guān)。傳送交換可能是文件系統(tǒng),點(diǎn)對(duì)點(diǎn)交換的公共電話網(wǎng)絡(luò),以有線網(wǎng)絡(luò)或無(wú)線傳送的方式。用戶能在互聯(lián)網(wǎng)上直接利用vCard。電子郵件能轉(zhuǎn)發(fā)在vCard中人信息。網(wǎng)頁(yè)上很多用戶填寫的表格可自動(dòng)使用vCard。
互聯(lián)網(wǎng)郵件協(xié)會(huì)(Internet Mail Consortium)正在與互聯(lián)網(wǎng)工程隊(duì)伍(Internet Engineering Task Force IETF)共同努力,擴(kuò)充以多用途互聯(lián)網(wǎng)郵件為基礎(chǔ)(Internet MIME-based)的互聯(lián)網(wǎng)電子郵件標(biāo)準(zhǔn)標(biāo)準(zhǔn),使之兼容vCard。vCard規(guī)范的XML綁定生成了DTD [vCard ,98] 有助于開(kāi)發(fā)IMS LIP。
VCard 2.1(rfc-2426)標(biāo)準(zhǔn)通信薄基本格式
VCard 數(shù)據(jù)格式的標(biāo)識(shí)符是VCARD
預(yù)定義的類型: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
預(yù)定義的參數(shù):ENCODING, VALUE, CHARSET, LANGUAGE, CONTEXT.
新增加的參數(shù):TYPE
預(yù)定義的值類型:uri, date, date-time, float
新增加的值類型:binary, phone-number, utc-offset and vcard value
vCard數(shù)據(jù)格式行
vCard的數(shù)據(jù)格式行形式為:類型 [;參數(shù)]:值。具體見(jiàn)如下示例:
ADR;HOME;POSTAL;PARCEL:;;街道地址;深圳;廣東;433330;中國(guó)
ADR:是一個(gè)類型,表示是一條地址信息;
“;”號(hào)是分隔符合;
HOME;POSTAL;PARCEL表示參數(shù),表示ADR的用途或者是類別,只是由于修飾類型;
“:”表示值域的開(kāi)始,值域的內(nèi)容與參數(shù)并沒(méi)有直接關(guān)系是配對(duì)的;
;;街道地址;深圳;廣東;433330;中國(guó) 表示是一個(gè)具體的ADR值(地址值)
預(yù)定義類型的用法
BEGIN 和 END 類型
Vcard內(nèi)容必須以BEGIN:VCARD開(kāi)頭,以END:VCARD結(jié)尾
參考一個(gè)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;國(guó)家
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;中國(guó)
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:網(wǎng)址
URL:單位主頁(yè)
EMAIL;PREF;INTERNET:郵箱地址
X-QQ:38394246
X-ICQ:icq
X-WAB-GENDER:2
REV:20060220T180305Z
END:VCARD
NAME類型
如果在內(nèi)容中出現(xiàn)NAME類型,那么它的值是一個(gè)可以顯示的,描述vCard源的文本。
PROFILE類型
如果出現(xiàn)PROFILE類型,那么它的值必須是“VCARD”
SOURCE類型
如果包含SOURCE類型,它的值提供一些怎樣找到vCard源的信息
預(yù)定參數(shù)的用法
LANGUAGE
參考[MIME-DIR]文檔
ENCODING
參考[MIME-DIR]文檔
VALUE
參考[MIME-DIR]文檔
預(yù)定義值類型的用法
在[MIME-DIR]中預(yù)定類型的值一定不能包含用逗號(hào)分開(kāi)的列表,除N,NICKNAME,ADR和CATEGORIES值類型外。
BINARY
表明類型的值是二進(jìn)制的,主要應(yīng)用在類型PHOTO, LOGO, SOUND, and KEY中.
ENCODING參數(shù)的值必須指定為“B”
二進(jìn)制的內(nèi)容的編碼參考[RFC 2047]
VCARD
表示一個(gè)類型的值是一個(gè)vCard對(duì)象
PHONE-NUMBER
表示類型的值是一個(gè)電話號(hào)碼
UTC-OFFSET
表示時(shí)間
結(jié)構(gòu)類型的值
復(fù)合類型值是用分號(hào)分開(kāi)的字段的集合,復(fù)合類型值中避免使用分號(hào),如何需要使用分號(hào),需要用“\”分號(hào)替代行的限定和分行,參考[MIME DIR],如果行的長(zhǎng)度超過(guò)了75個(gè)字符,那么必須分行。
VCard 特征
標(biāo)識(shí)類型
FN 類型定義
目的:vcard對(duì)象的名稱,一個(gè)vcard對(duì)象必須包含FN類型。
例子:FN:Mr. John Q. Public\, Esq.
N類型定義
目的:FN表示一個(gè)vcard對(duì)象的名稱,N表示這個(gè)對(duì)象名稱的組成部分
例子:N:Public;John;Quinlan;Mr.;Esq.
N:Stevenson;John;Philip,Paul;Dr.;Jr.,M.D.,A.C.P.
各個(gè)組成部分可以用分號(hào)分號(hào),每個(gè)組成部分可以用逗號(hào)。
NICKNAME類型定義
目的:表示別名
例子:NICKNAME:Robbie
NICKNAME:Jim,Jimmie
PHOTO類型定義
目的:vcard對(duì)象的圖像信息
例子:PHOTO;VALUE=uri:圖片地址
PHOTO;ENCODING=b;TYPE=JPEG:MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcN
AQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bm
jYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0
<...remainder of "B" encoded binary data...>
如果使用內(nèi)聯(lián)的二進(jìn)制數(shù)據(jù)表示圖片信息,那么;ENCODING=b
BDAY類型定義
目的:表示出生日期
例子:BDAY:1996-04-15
BDAY:1953-10-15T23:10:00Z
BDAY:1987-09-27T08:30:00-06:00
地址類型
ADR 類型定義
目的:是一個(gè)組合,用來(lái)表示一個(gè)地址信息,值類型是一個(gè)用分號(hào)分開(kāi)的文本值
例子:ADR;TYPE=dom,home,postal,parcel:;;123 Main Street;Any Town;CA;91921-1234;A
ADR;HOME;POSTAL;PARCEL:;;街道地址;深圳;廣東;444444;中國(guó)
組合由以下七個(gè)部分順序的組成:
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
如果,其他的一個(gè)部分沒(méi)有,必須用分號(hào)分開(kāi)
type 參數(shù)的說(shuō)明
"dom" 國(guó)內(nèi)地址
"intl" 國(guó)際地址
"parcel"包裹遞送地址
"home" 居住地址;
"work"工作地址;
"pref" 有多個(gè)地址的時(shí)候,優(yōu)先的地址
缺省的"TYPE=intl,postal,parcel,work",可以替換
LABEL類型定義
目的:是一格式化的文本值,表示一個(gè)地址
例子: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 參數(shù)的說(shuō)明
"dom" 國(guó)內(nèi)地址
"intl" 國(guó)際地址
"parcel"包裹遞送地址
"home" 居住地址;
"work"工作地址;
"pref" 有多個(gè)地址的時(shí)候,優(yōu)先的地址
缺省的"TYPE=intl,postal,parcel,work",可以替換
和ADR的不同是 ADR的值是用分號(hào)分開(kāi)的數(shù)據(jù),LABEL就是一個(gè)格式化的文本。
電話通信地址類型
TEL類型定義
目的:指定一個(gè)電話號(hào)碼
例子:TEL;TYPE=work,voice,pref,msg:+1-213-555-1234
說(shuō)明:值是一個(gè)規(guī)范的全球唯一的電話號(hào)碼
TYPE參數(shù)的值有:
"home"表示家庭電話
"msg" 表示這個(gè)號(hào)碼支持語(yǔ)音
"work" 工作電話
"pref" 表示多個(gè)電話中最喜歡使用的電話
"voice" 聲音電話號(hào)碼
"fax"傳真號(hào)碼
"cell" 表示手機(jī)電話
"video" 視頻電話
"pager" 調(diào)度電話,估計(jì)是總機(jī)的電話
"bbs" 公開(kāi)的廣播系統(tǒng)的電話
"modem" 調(diào)制解調(diào)器電話
"car"汽車電話
"isdn" ISDN連接電話號(hào)碼
"pcs" 個(gè)人通信服務(wù)電話
缺省是 "voice".
TYPE參數(shù)的用法是TYPE=work;TYPE=voice或者"TYPE=work,voice",缺省值可以被重置"TYPE=work,home,voice,fax".
EMAIL類型定義
目的:指定一個(gè)電子郵件
例子:EMAIL;TYPE=internet:郵箱地址
EMAIL;TYPE=x400:郵箱地址
EMAIL;TYPE=internet,pref:郵箱地址
TYPE參數(shù)的使用
"internet" 表示一個(gè)internet 類型地址
"x400" 表示是一個(gè) X.400 地址
"pref"最喜歡使用的郵件電子
缺省是"internet".
MAILER 類型定義
目的:指定一個(gè)電子郵件發(fā)送者
例子:MAILER:PigeonMail 2.1
地理類型
TZ類型定義
目的:時(shí)區(qū)信息
例子:TZ:-05:00
TZ;VALUE=text:-05:00; EST; Raleigh/North America
缺省是一個(gè)utc-offset值.
GEO類型定義
目的:地理位置信息
例子GEO:37.386013;-122.082932
CEO 經(jīng)度;緯度
組織類型
TITLE類型定義
目的:工作位置,工作職能(job title)
例子TITLE:Director\, Research and Development
ROLE 類型定義
目的:公司的職業(yè)(occupation)
例子ROLE:Programmer
LOGO類型定義
目的:公司logo,是一個(gè)圖像信息
例子LOGO;VALUE=uri:圖片地址
LOGO;ENCODING=b;TYPE=JPEG:MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcN AQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bm
ljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0
<...the remainder of "B" encoded binary data...>
說(shuō)明:TYPE知道圖像的格式,ENCODING=b表示是二進(jìn)制的數(shù)據(jù)流URI表示是一個(gè)外部圖像對(duì)象
AGENT類型定義
目的:指定另外一個(gè)人替換他的個(gè)人行為
例子:AGENT;VALUE=uri: CID:JQPUBLIC.part3.960129T083020.郵箱地址
AGENT:BEGIN:VCARD\nFN:Susan Thomas\nTEL:+1-919-555-
1234\nEMAIL\;INTERNET:主機(jī)地址\nEND:VCARD\n
說(shuō)明:缺省是一個(gè)Vcard對(duì)象,當(dāng)時(shí)也可是一個(gè)URI指定的外部Vcard對(duì)象
ORG類型定義
目的:表示一個(gè)組織的名稱
例子ORG:ABC\, Inc.;North American Division;Marketing
解釋類型
CATEGORIES類型定義
目的:vcard應(yīng)用的分類信息
例子:CATEGORIES:TRAVEL AGENT
CATEGORIES:INTERNET,IETF,INDUSTRY,INFORMATION TECHNOLOGY
NOTE 類型定義
目的:對(duì)vcard的注釋和說(shuō)明
例子:NOTE:This fax number is operational 0800 to 1715
EST\, Mon-Fri.
PRODID類型定義
目的:指定創(chuàng)建Vcard對(duì)象的產(chǎn)品的ID
例子:PRODID:-//ONLINE DIRECTORY//NONSGML Version 1//EN
REV類型定義
目的:指定當(dāng)前Vcard的修改信息
例子:REV:1995-10-31T22:27:10Z
REV:1997-11-15
SORT-STRING類型定義
目的:指定家庭名稱或者其他名稱對(duì)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的數(shù)字聲音信息,缺省是指定vcard的name類型的發(fā)音信息。
例子: 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指定一個(gè)外部聲音二進(jìn)制流
可以是內(nèi)置的聲音二進(jìn)制流,ENCODING=b
UID類型定義
目的:指定一個(gè)全球唯一的個(gè)人或資源標(biāo)識(shí)。
例子:UID:19950401-080045-40000F192713-0052
URL類型定義
目的:指定Vcard 參考的路徑。
例子:URL: 網(wǎng)址
VERSION類型定義
目的:指定Vcard使用的vcard規(guī)范的版本。
例子: VERSION:3.0
Security 類型
CLASS類型定義
目的:指定訪問(wèn)Vcard對(duì)象的訪問(wèn)分級(jí)。
例子: CLASS:PUBLIC
CLASS:PRIVATE
CLASS:CONFIDENTIAL
說(shuō)明:安全分級(jí)需要參考目錄服務(wù)的訪問(wèn)分級(jí)
KEY 類型定義
目的:指定Vcard的公共鑰匙值(加密解密是使用)或者是授權(quán)認(rèn)證。
例子: KEY;ENCODING=b:MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcNAQEEBQA
wdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENbW11bmljYX
Rpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0
ZW1zMRwwGgYDVQQDExNyb290Y2EubmV0c2NhcGUuY29tMB4XDTk3MDYwNj
E5NDc1OVoXDTk3MTIwMzE5NDc1OVowgYkxCzAJBgNVBAYTAlVTMSYwJAYD
VQQKEx1OZXRzY2FwZSBDb21tdW5pY2F0aW9ucyBDb3JwLjEYMBYGA1UEAx
MPVGltb3RoeSBBIEhvd2VzMSEwHwYJKoZIhvcNAQkBFhJob3dlc0BuZXRz
Y2FwZS5jb20xFTATBgoJkiaJk/IsZAEBEwVob3dlczBcMA0GCSqGSIb3DQ
EBAQUAA0sAMEgCQQC0JZf6wkg8pLMXHHCUvMfL5H6zjSk4vTTXZpYyrdN2
dXcoX49LKiOmgeJSzoiFKHtLOIboyludF90CgqcxtwKnAgMBAAGjNjA0MB
EGCWCGSAGG+EIBAQQEAwIAoDAfBgNVHSMEGDAWgBT84FToB/GV3jr3mcau
+hUMbsQukjANBgkqhkiG9w0BAQQFAAOBgQBexv7o7mi3PLXadkmNP9LcIP
mx93HGp0Kgyx1jIVMyNgsemeAwBM+MSlhMfcpbTrONwNjZYW8vJDSoi//y
rZlVt9bJbs7MNYZVsyF1unsqaln4/vy6Uawfg8VUMk1U7jt8LYpo4YULU7
UZHPYVUaSgVttImOHZIKi4hlPXBOhcUQ==
擴(kuò)展類型
可以定義自己的類型,自己定義的類型需要以“x-”開(kāi)頭
比如例子中的信息:
X-QQ:000000
X-ICQ:icq
X-WAB-GENDER:2
最后再補(bǔ)一個(gè)詳細(xì)的vCard例子如下:
BEGIN:VCARD
VERSION:2.1
N:Doe;John;;;
FN:John Doe
ORG:Doe Company, The;
TITLE:President
NOTE;ENCODING=QUOTED-PRINTABLE:This is a note associated with this
contact=0D=0A
TEL;WORK;VOICE:(987) 123-4567
TEL;HOME;VOICE:(987) 765-4321
TEL;CELL;VOICE:(987) 135-8642
TEL;WORK;FAX:(987) 246-1357
ADR;WORK:;;1234 North Street;Anytown;TX 751234;;United States of America
LABEL;WORK;ENCODING=QUOTED-PRINTABLE:1234 North Street=0D=0AAnytown, TX
751234 =0D=0AUnited States of America
URL:
URL:<WWLINK TYPE="GENERIC"
VALUE="http://www.doeweb.com">http://www.doeweb.com</WWLINK>
EMAIL;PREF;INTERNET:jdoe@nowhere.com
REV:19980114T170559Z
END:VCARD
另外rfc2426和vcard-21的datasheet在附件中
http://www.shnenglu.com/Files/franksunny/rfc2426.rar
http://www.shnenglu.com/Files/franksunny/vcard-21.rar
posted on 2008-09-13 07:20
frank.sunny 閱讀(3704)
評(píng)論(0) 編輯 收藏 引用 所屬分類:
symbian 開(kāi)發(fā)