锘??xml version="1.0" encoding="utf-8" standalone="yes"?> 1. SMTP錛?/span>Simple Mail Transfer Protocol錛?/span> SMTP 鏄竴縐峊CP鍗忚鏀寔鐨勬彁渚涘彲闈犱笖鏈夋晥鐢靛瓙閭歡浼犺緭鐨勫簲鐢ㄥ眰鍗忚銆係MTP 鏄緩绔嬪湪 TCP涓婄殑涓縐嶉偖浠舵湇鍔★紝涓昏鐢ㄤ簬浼犺緭緋葷粺涔嬮棿鐨勯偖浠朵俊鎭茍鎻愪緵鏉ヤ俊鏈夊叧鐨勯氱煡銆係MTP涓昏璐熻矗搴曞眰鐨勯偖浠剁郴緇熷浣曞皢閭歡浠庝竴鍙版満鍣ㄤ紶鑷沖彟澶栦竴鍙版満鍣ㄣ?/p> 2. POP錛?/span>Post Office Protocol錛?/span> 鐩墠鐨勭増鏈負POP3錛孭OP3鏄妸閭歡浠庣數瀛愰偖綆變腑浼犺緭鍒版湰鍦拌綆楁満鐨勫崗璁?nbsp; 3. IMAP錛?/span>Internet Message Access Protocol錛?/span> 鐩墠鐨勭増鏈負IMAP4錛屾槸POP3鐨勪竴縐嶆浛浠e崗璁紝鎻愪緵浜嗛偖浠舵绱㈠拰閭歡澶勭悊鐨勬柊鍔熻兘錛岃繖鏍風敤鎴峰彲浠ュ畬鍏ㄤ笉蹇呬笅杞介偖浠舵鏂囧氨鍙互鐪嬪埌閭歡鐨勬爣棰樻憳瑕侊紝浠庨偖浠跺鎴風杞歡灝卞彲浠ュ鏈嶅姟鍣ㄤ笂鐨勯偖浠跺拰鏂囦歡澶圭洰褰曠瓑榪涜鎿嶄綔銆侷MAP鍗忚澧炲己浜嗙數瀛愰偖浠剁殑鐏墊椿鎬э紝鍚屾椂涔熷噺灝戜簡鍨冨溇閭歡瀵規湰鍦扮郴緇熺殑鐩存帴鍗卞錛屽悓鏃剁浉瀵硅妭鐪佷簡鐢ㄦ埛瀵熺湅鐢靛瓙閭歡鐨勬椂闂淬傞櫎姝や箣澶栵紝IMAP鍗忚鍙互璁板繂鐢ㄦ埛鍦ㄨ劚鏈虹姸鎬佷笅瀵歸偖浠剁殑鎿嶄綔錛堜緥濡傜Щ鍔ㄩ偖浠訛紝鍒犻櫎閭歡絳夛級鍦ㄤ笅涓嬈℃墦寮緗戠粶榪炴帴鐨勬椂鍊欎細鑷姩鎵ц銆?nbsp; 涓嬮潰浠?span style="font-family: 'Times New Roman';">sina鍜?/span>sohu榪欎袱涓數瀛愰偖灞涓轟緥鏉ヨ瑙g數瀛愰偖浠剁殑浼犺緭榪囩▼鍜屽伐浣滃師鐞嗐傚亣璁?/span>sina閭鐨勮處鎴蜂負lisi@sina.com錛?/span>sohu閭鐨勮處鎴蜂負wangwu@sohu.com錛屽畠浠箣闂寸殑閭歡鏀跺彂榪囩▼濡備笅鍥炬墍紺猴細 銆銆銆 鍥句腑瀹炵嚎閮ㄥ垎琛ㄧずlisi@sina.com璐︽埛鍚?/span>wangwu@sohu.com璐︽埛鍙戦侀偖浠剁殑榪囩▼錛岃櫄綰塊儴鍒嗚〃紺?/span>wangwu@sohu.com璐︽埛鍚?/span>lisi@sina.com璐︽埛鍙戦侀偖浠剁殑榪囩▼銆備笅闈㈤氳繃鍒嗘瀽lisi@sina.com璐︽埛鍚?/span>wangwu@sohu.com璐︽埛鍙戦侀偖浠剁殑榪囩▼錛屾潵鍏蜂綋璁茶В涓灝侀偖浠朵粠鍙戦佸埌鎺ユ敹鎵娑夊強鐨勭幆鑺傘傘 銆銆 lisi@sina.com鐨勯偖浠跺鎴風紼嬪簭錛堣繖閲屽亣璁句負Outlook Express錛変笌sina鐨?/span>SMTP鏈嶅姟鍣ㄥ緩绔嬬綉緇滆繛鎺ワ紝騫朵互lisi鐨勭敤鎴峰悕鍜屽瘑鐮佽繘琛岀櫥褰曞悗錛屼嬌鐢?/span>SMTP鍗忚鎶婇偖浠跺彂閫佺粰sina鐨?/span>SMTP鏈嶅姟鍣ㄣ?/span> 銆銆sina鐨?/span>SMTP鏈嶅姟鍣ㄦ敹鍒?/span>lisi@sina.com鎻愪氦鐨勭數瀛愰偖浠跺悗錛岄鍏堟牴鎹敹浠朵漢鐨勫湴鍧鍚庣紑鍒ゆ柇鎺ユ敹鑰呯殑閭歡鍦板潃鏄惁灞炰簬璇?/span>SMTP鏈嶅姟鍣ㄧ殑綆¤緰鑼冨洿錛屽鏋滄槸鐨勮瘽灝辯洿鎺ユ妸閭歡瀛樺偍鍒版敹浠朵漢鐨勯偖綆變腑錛屽惁鍒欙紝sina鐨?/span>SMTP鏈嶅姟鍣ㄥ悜DNS鏈嶅姟鍣ㄦ煡璇㈡敹浠朵漢鐨勯偖浠跺湴鍧鍚庣紑錛?/span>sohu.com錛夋墍琛ㄧず鐨勫煙鍚嶇殑MX璁板綍錛屼粠鑰屽緱鍒?/span>sohu鐨?/span>SMTP鏈嶅姟鍣ㄤ俊鎭紝鐒跺悗涓?/span>sohu鐨?/span>SMTP鏈嶅姟鍣ㄥ緩绔嬭繛鎺ュ茍閲囩敤SMTP鍗忚鎶婇偖浠跺彂閫佺粰sohu鐨?/span>SMTP鏈嶅姟鍣ㄣ?/span> sohu鐨?/span>SMTP鏈嶅姟鍣ㄦ敹鍒?/span>sina鐨?/span>SMTP鏈嶅姟鍣ㄥ彂鏉ョ殑鐢靛瓙閭歡鍚庯紝涔熷皢鏍規嵁鏀朵歡浜虹殑鍦板潃鍒ゆ柇璇ラ偖浠舵槸鍚﹀睘浜庤SMTP鏈嶅姟鍣ㄧ殑綆¤緰鑼冨洿錛屽鏋滄槸鐨勮瘽灝辯洿鎺ユ妸閭歡瀛樺偍鍒版敹浠朵漢鐨勯偖綆變腑錛屽惁鍒欙紙涓鑸笉浼氬嚭鐜拌繖縐嶆儏鍐碉級錛?/span>sohu鐨?/span>SMTP鏈嶅姟鍣ㄥ彲鑳界戶緇漿鍙戣繖灝佺數瀛愰偖浠訛紝涔熷彲鑳戒涪寮冭繖灝佺數瀛愰偖浠躲?/span> 銆 鎷ユ湁wangwu@sohu.com璐︽埛鐨勭敤鎴烽氳繃閭歡瀹㈡埛绔▼搴忥紙榪欓噷鍋囪涔熶負Outlook Express錛変笌sohu鐨?/span>POP3/IMAP鏈嶅姟鍣ㄥ緩绔嬬綉緇滆繛鎺ワ紝騫朵互wangwu鐨勭敤鎴峰悕鍜屽瘑鐮佽繘琛岀櫥褰曞悗錛屽氨鍙互閫氳繃POP3鎴?/span>IMAP鍗忚鏌ョ湅wangwu@sohu.com閭涓槸鍚︽湁鏂伴偖浠訛紝濡傛灉鏈夌殑璇濓紝鍒欎嬌鐢?/span>POP3鎴?/span>IMAP鍗忚璇誨彇閭涓殑閭歡銆?/span> 銆 鍥句腑鐨勮櫄綰塊儴鍒嗚〃紺?span style="font-family: 'Times New Roman';">wangwu@sohu.com璐︽埛鍚?/span>lisi@sina. com璐︽埛鍙戦侀偖浠剁殑榪囩▼錛屾榪囩▼涓?/span>lisi@sina.com璐︽埛鍚?/span>wangwu@ sohu.com璐︽埛鍙戦侀偖浠剁殑榪囩▼綾諱技錛岃繖閲屼笉鍐嶅榪般?/span> 閭歡瀹㈡埛绔蔣浠朵笌SMTP鏈嶅姟鍣ㄤ箣闂達紝浠ュ強涓ゅ彴SMTP鏈嶅姟鍣ㄤ箣闂撮兘閲囩敤SMTP鍗忚榪涜閫氫俊銆傞偖浠跺鎴風杞歡鍙噰鐢?/span>SMTP鍗忚鍙戦侀偖浠訛紝鍗抽偖浠跺鎴風杞歡鍙綔涓?/span>SMTP鍗忚鐨勫彂閫佹柟銆?/span>SMTP鏈嶅姟鍣ㄦ棦瑕侀噰鐢?/span>SMTP鍗忚鍚戝叾浠?/span>SMTP鏈嶅姟鍣ㄥ彂閫侀偖浠訛紝鍙堣閲囩敤SMTP鍗忚鎺ユ敹鍏朵粬SMTP鏈嶅姟鍣ㄦ垨閭歡瀹㈡埛绔蔣浠跺彂閫佹潵鐨勯偖浠訛紝鍗?/span>SMTP鏈嶅姟鍣ㄦ棦浣滀負SMTP鍗忚鐨勫彂閫佹柟錛屽張浣滀負SMTP鍗忚鐨勬帴鏀舵柟銆傞偖浠跺鎴風杞歡涓?/span>SMTP鏈嶅姟鍣ㄩ兘鍙互浣跨敤SMTP鍗忚鍙戦侀偖浠訛紝浠呭彂閫侀偖浠惰繖涓鍔熻兘鑰岃█錛屽畠浠湪鎶鏈疄鐜頒笂鏈変綍宸紓鍛紵瀹冧滑鐨勫樊寮備富瑕佷綋鐜板湪浠ヤ笅涓や釜鏂歸潰錛?/span> 銆銆銆 銆銆銆錛?span style="font-family: 'Times New Roman';">1錛?/span>SMTP鏈嶅姟鍣ㄦ帴鏀跺埌閭歡瀹㈡埛绔蔣浠跺彂閫佹潵鐨勯偖浠跺悗錛岄渶瑕佹牴鎹敹浠朵漢鍦板潃鐨勫煙鍚嶅皢閭歡杞彂緇欑洰鏍囧煙鐨?/span>SMTP鏈嶅姟鍣紝鑰屽ぇ閲忕殑鏀朵歡浜哄湴鍧涓偗瀹氫細鍑虹幇鍚勭鍙兘鐨勫煙鍚嶏紝鍥犳錛?/span>SMTP鏈嶅姟鍣ㄦ秹鍙婂埌瑕佷笌鍏朵粬澶氬彴涓嶈兘浜嬪厛紜畾鐨?/span>SMTP鏈嶅姟鍣ㄨ繘琛岄氫俊錛屽畠闇瑕佸叿鏈夋牴鎹敹浠朵漢鍦板潃鐨勫煙鍚嶆煡璇㈠嚭璇ュ煙鐨?/span>SMTP鏈嶅姟鍣ㄧ殑鍔熻兘錛屽嵆闇瑕佸叿鏈夋煡璇㈠煙鍚嶇殑MX璁板綍鐨勫姛鑳姐傞偖浠跺鎴風杞歡琚緗負涓庡浐瀹氱殑SMTP鏈嶅姟鍣ㄩ氫俊錛屽畠鍙互鐩存帴涓庢寚瀹氱殑SMTP鏈嶅姟鍣ㄥ緩绔嬬綉緇滆繛鎺ワ紝鍥犳瀹冧笉闇瑕佸叿鏈夋牴鎹敹浠朵漢鍦板潃鐨勫煙鍚嶆潵鏌ヨ璇ュ煙鐨?/span>SMTP鏈嶅姟鍣ㄧ殑鍔熻兘銆?/span> 銆銆銆 銆銆銆錛?span style="font-family: 'Times New Roman';">2錛夊浜庢潵鑷煇涓偖浠跺鎴風杞歡鐨勯偖浠朵紶杈撹姹傦紝SMTP鏈嶅姟鍣ㄥ彲鑳介渶瑕佸鍙戜歡浜虹殑鐢ㄦ埛璐﹀彿淇℃伅榪涜楠岃瘉錛屽洜姝わ紝閭歡瀹㈡埛绔蔣浠墮渶瑕佸叿鏈夊悜SMTP鏈嶅姟鍣ㄤ紶閫佺敤鎴瘋處鍙蜂俊鎭殑鍔熻兘銆?/span>SMTP鏈嶅姟鍣ㄨ兘澶熺洿鎺ユ帴鍙楁潵鑷叾浠?/span>SMTP鏈嶅姟鍣ㄧ殑閭歡浼犺緭璇鋒眰錛屽洜姝わ紝SMTP鏈嶅姟鍣ㄥ湪鍙戦侀偖浠舵椂鏍規湰涓嶉渶瑕佷紶閫佺敤鎴瘋處鍙蜂俊鎭殑鍔熻兘銆?nbsp; 銆銆銆鍦?span style="font-family: 'Times New Roman';">DNS鏈嶅姟鍣ㄤ笂闄や簡鍙互寤虹珛涓繪満鍚嶄笌IP鍦板潃鐨勬槧灝勫錛岃繕鍙互寤虹珛鍏朵粬澶氱鏄犲皠錛屼緥濡傦紝寤虹珛鏌愪釜涓繪満鍚嶄笌鍏跺埆鍚嶇殑鏄犲皠錛涘緩绔嬫煇涓煙鍚嶄笌鍏?/span>SMTP鏈嶅姟鍣ㄧ殑鏄犲皠銆傚湪DNS鏈嶅姟鍣ㄤ笂鍒涘緩鐨勫悇欏規槧灝勫叧緋葷О涓鴻褰曪紝涓欏規槧灝勫叧緋誨氨鏄竴鏉¤褰曪紝鍦?/span>DNS鏈嶅姟鍣ㄤ笂鍒涘緩鐨勪富鏈哄悕涓?/span>IP鍦板潃鐨勬槧灝勫叧緋葷О涓?/span>A璁板綍錛屼富鏈哄悕涓庡埆鍚嶇殑鏄犲皠鍏崇郴縐頒負CNAME璁板綍錛屽煙鍚嶄笌鍏?/span>SMTP鏈嶅姟鍣ㄧ殑鏄犲皠鍏崇郴縐頒負MX璁板綍銆?/span> 銆銆銆鍦?span style="font-family: 'Times New Roman';">DNS鏈嶅姟鍣ㄤ笂涓轟粈涔堣寤虹珛MX璁板綍鍛紵鍗充負浠涔堣寤虹珛鍩熷悕涓庡叾SMTP鏈嶅姟鍣ㄧ殑鏄犲皠鍏崇郴鍛紵榪欎笌鐢靛瓙閭歡鍦板潃鐨勮〃紺哄艦寮忓拰宸ヤ綔鍘熺悊鏈夊叧銆傞偖浠跺湴鍧鍚庣紑閮ㄥ垎琛ㄧず鐨勯氬父閮芥槸涓涓煙鍚嶏紝鑰屼笉鏄帴鏀墮偖浠剁殑鏈嶅姟鍣ㄧ殑涓繪満鍚嶏紝渚嬪錛岄偖浠跺湴鍧“zxx@it315.org”涓殑“it315.org”瀵瑰簲鐨勫氨鏄竴涓煙鍚嶃傚煙鍙槸涓涓昏緫緇勫悎姒傚康錛屽畠騫朵笉浠h〃鐪熸鐨勮綆楁満錛屽浜庝嬌鐢ㄦ煇涓煙鍚嶄綔涓哄悗緙鐨勯偖浠跺湴鍧錛屽鐣屽彂閫佺粰瀹冪殑鐢靛瓙閭歡蹇呴』鐢變竴鍙頒笓闂ㄧ殑SMTP鏈嶅姟鍣ㄦ潵榪涜鎺ユ敹鍜屽鐞嗭紝鎺ユ敹鍜屽鐞嗘煇涓煙鐨勭數瀛愰偖浠剁殑SMTP鏈嶅姟鍣ㄥ嵆涓鴻鍩熺殑SMTP鏈嶅姟鍣紝澶栫晫鍙戦佺粰鏌愪釜鍩熺殑鐢靛瓙閭歡瀹為檯涓婇兘鏄彂閫佺粰璇ュ煙鐨?/span>SMTP鏈嶅姟鍣ㄣ傚鐣屽浣曠煡閬撲竴涓煙鐨?/span>SMTP鏈嶅姟鍣ㄧ殑鍦板潃鍛紵榪欏氨鏄氳繃綆$悊璇ュ煙鐨?/span>DNS鏈嶅姟鍣ㄤ笂鐨?/span>MX璁板綍鏉ヨ幏寰楃殑錛岃繖涔熷氨鏄湪DNS鏈嶅姟鍣ㄤ笂涓轟粈涔堣寤虹珛鍩熷悕涓庡叾SMTP鏈嶅姟鍣ㄧ殑鏄犲皠鍏崇郴鐨勫師鍥犮?/span> 銆銆銆褰撴煇鍙?span style="font-family: 'Times New Roman';">SMTP鏈嶅姟鍣ㄨ緇?#8220;zxx@it315.org”鍙戦佷竴灝佺數瀛愰偖浠舵椂錛岃SMTP鏈嶅姟鍣ㄥ皢鏍規嵁閭歡鍦板潃鐨勫悗緙閮ㄥ垎鑰屽幓鏌ヨ“it315.org”榪欎釜鍩熺殑MX璁板綍錛屽緱鍒拌繖涓煙鐨?/span>SMTP鏈嶅姟鍣ㄧ殑涓繪満鍚嶄負“mail.it315.org”錛岀劧鍚庡皢閭歡鍙戦佺粰“mail.it315.org”榪欎釜SMTP鏈嶅姟鍣ㄣ?/span> 涓銆佷粈涔堟槸Unicode 銆銆鍏堜粠ASCII璇磋搗錛孉SCII鏄敤鏉ヨ〃紺鴻嫳鏂囧瓧絎︾殑涓縐嶇紪鐮佽鑼冦傛瘡涓狝SCII瀛楃鍗犵敤1涓瓧鑺傦紝鍥犳錛孉SCII緙栫爜鍙互琛ㄧず鐨勬渶澶у瓧絎︽暟鏄?55錛?0H—FFH錛夈傚叾瀹烇紝鑻辨枃瀛楃騫舵病鏈夐偅涔堝錛屼竴鑸彧鐢ㄥ墠128涓紙00H—7FH錛屾渶楂樹綅涓?錛夛紝鍏朵腑鍖呮嫭浜嗘帶鍒跺瓧絎︺佹暟瀛椼佸ぇ灝忓啓瀛楁瘝鍜屽叾瀹冧竴浜涚鍙楓傝屾渶楂樹綅涓?鐨勫彟128涓瓧絎︼紙80H—FFH錛夎縐頒負“鎵╁睍ASCII”錛屼竴鑸敤鏉ュ瓨鏀捐嫳鏂囩殑鍒惰〃絎︺侀儴鍒嗛煶鏍囧瓧絎︾瓑絳夌殑涓浜涘叾瀹冪鍙楓?br />銆銆榪欑瀛楃緙栫爜瑙勫垯鏄劇劧鐢ㄦ潵澶勭悊鑻辨枃娌℃湁浠涔堥棶棰樸備絾鏄潰瀵逛腑鏂囥侀樋鎷変集鏂囩瓑澶嶆潅鐨勬枃瀛楋紝255涓瓧絎︽樉鐒朵笉澶熺敤銆?br />浜庢槸錛屽悇涓浗瀹剁悍綰峰埗瀹氫簡鑷繁鐨勬枃瀛楃紪鐮佽鑼冿紝鍏朵腑涓枃鐨勬枃瀛楃紪鐮佽鑼冨彨鍋?#8220;GB2312—80”錛屽畠鏄拰ASCII鍏煎鐨勪竴縐嶇紪鐮佽鑼冿紝鍏跺疄灝辨槸鍒╃敤鎵╁睍ASCII娌℃湁鐪熸鏍囧噯鍖栬繖涓鐐癸紝鎶婁竴涓腑鏂囧瓧絎︾敤涓や釜鎵╁睍ASCII瀛楃鏉ヨ〃紺猴紝浠ュ尯鍒咥SCII鐮侀儴鍒嗐?br />銆銆浣嗘槸榪欎釜鏂規硶鏈夐棶棰橈紝鏈澶х殑闂灝辨槸涓枃鐨勬枃瀛楃紪鐮佸拰鎵╁睍ASCII鐮佹湁閲嶅彔銆傝屽緢澶氳蔣浠跺埄鐢ㄦ墿灞旳SCII鐮佺殑鑻辨枃鍒惰〃絎︽潵鐢昏〃鏍鹼紝榪欐牱鐨勮蔣浠剁敤鍒頒腑鏂囩郴緇熶腑錛岃繖浜涜〃鏍煎氨浼氳璇浣滀腑鏂囧瓧絎︼紝鍑虹幇涔辯爜銆?br />銆銆鍙﹀錛岀敱浜庡悇鍥藉拰鍚勫湴鍖洪兘鏈夎嚜宸辯殑鏂囧瓧緙栫爜瑙勫垯錛屽畠浠簰鐩稿啿紿侊紝榪欑粰鍚勫浗鍜屽悇鍦板尯浜ゆ崲淇℃伅甯︽潵浜嗗緢澶х殑楹葷儲銆?br />瑕佺湡姝hВ鍐寵繖涓棶棰橈紝涓嶈兘浠庢墿灞旳SCII鐨勮搴﹀叆鎵嬶紝鑰屽繀欏繪湁涓涓叏鏂扮殑緙栫爜緋葷粺錛岃繖涓郴緇熻鍙互灝嗕腑鏂囥佹硶鏂囥佸痙鏂?#8230;…絳夌瓑鎵鏈夌殑鏂囧瓧緇熶竴璧鋒潵鑰冭檻錛屼負姣忎竴涓枃瀛楅兘鍒嗛厤涓涓崟鐙殑緙栫爜銆?/p>
浜庢槸錛孶nicode璇炵敓浜嗐?/p>
銆銆Unicode涔熸槸涓縐嶅瓧絎︾紪鐮佹柟娉曪紝瀹冨崰鐢ㄤ袱涓瓧鑺傦紙0000H—FFFFH錛?瀹圭撼65536涓瓧絎︼紝榪欏畬鍏ㄥ彲浠ュ綰沖叏涓栫晫鎵鏈夎璦鏂囧瓧鐨勭紪鐮併?br />鍦║nicode閲岋紝鎵鏈夌殑瀛楃琚竴瑙嗗悓浠侊紝姹夊瓧涓嶅啀浣跨敤“涓や釜鎵╁睍ASCII”錛岃屾槸浣跨敤“1涓猆nicode”錛屼篃灝辨槸璇達紝鎵鏈夌殑鏂囧瓧閮芥寜涓涓瓧絎︽潵澶勭悊錛屽畠浠兘鏈変竴涓敮涓鐨刄nicode鐮併?/p>
浜屻佷嬌鐢║nicode緙栫爜鐨勫ソ澶?/p>
銆銆浣跨敤Unicode緙栫爜鍙互浣挎偍鐨勫伐紼嬪悓鏃舵敮鎸佸縐嶈璦錛屼嬌鎮ㄧ殑宸ョ▼鍥介檯鍖栥?br />銆銆鍙﹀錛學indows NT鏄嬌鐢║nicode榪涜寮鍙戠殑錛屾暣涓郴緇熼兘鏄熀浜嶶nicode鐨勩傚鏋滆皟鐢ㄤ竴涓狝PI鍑芥暟騫剁粰瀹冧紶閫掍竴涓狝NSI錛圓SCII瀛楃闆嗕互鍙婄敱姝ゆ淳鐢熷茍鍏煎鐨勫瓧絎﹂泦錛屽錛欸B2312錛岄氬父縐頒負ANSI瀛楃闆嗭級瀛楃涓詫紝閭d箞緋葷粺棣栧厛瑕佸皢瀛楃涓茶漿鎹㈡垚Unicode錛岀劧鍚庡皢Unicode瀛楃涓蹭紶閫掔粰鎿嶄綔緋葷粺銆傚鏋滃笇鏈涘嚱鏁拌繑鍥濧NSI瀛楃涓詫紝緋葷粺灝變細棣栧厛灝哢nicode瀛楃涓茶漿鎹㈡垚ANSI瀛楃涓詫紝鐒跺悗灝嗙粨鏋滆繑鍥炵粰鎮ㄧ殑搴旂敤紼嬪簭銆傝繘琛岃繖浜涘瓧絎︿覆鐨勮漿鎹㈤渶瑕佸崰鐢ㄧ郴緇熺殑鏃墮棿鍜屽唴瀛樸傚鏋滅敤Unicode鏉ュ紑鍙戝簲鐢ㄧ▼搴忥紝灝辮兘澶熶嬌鎮ㄧ殑搴旂敤紼嬪簭鏇村姞鏈夋晥鍦拌繍琛屻?br /> 涓夈佷嬌鐢–++榪涜Unicode緙栫▼ 銆銆瀵瑰瀛楃鐨勬敮鎸佸叾瀹炴槸ANSI C鏍囧噯鐨勪竴閮ㄥ垎錛岀敤浠ユ敮鎸佸瀛楄妭琛ㄧず涓涓瓧絎︺傚瀛楃鍜孶nicode騫朵笉瀹屽叏絳夊悓錛孶nicode鍙槸瀹藉瓧絎︾殑涓縐嶇紪鐮佹柟寮忋?/p>
1銆佸瀛楃鐨勫畾涔?/p>
銆銆鍦ˋNSI涓紝涓涓瓧絎︼紙char錛夌殑闀垮害涓轟竴涓瓧鑺傦紙Byte錛夈備嬌鐢║nicode鏃訛紝涓涓瓧絎﹀崰鎹竴涓瓧錛孋++鍦╳char.h澶存枃浠朵腑瀹氫箟浜嗘渶鍩烘湰鐨勫瀛楃綾誨瀷wchar_t錛?/p> 浠庤繖閲屾垜浠彲浠ユ竻妤氬湴鐪嬪埌錛屾墍璋撶殑瀹藉瓧絎﹀氨鏄棤絎﹀彿鐭暣鏁般?/p>
2銆佸父閲忓瀛楃涓?/p>
銆銆瀵笴++紼嬪簭鍛樿岃█錛屾瀯閫犲瓧絎︿覆甯擱噺鏄竴欏圭粡甯告х殑宸ヤ綔銆傞偅涔堬紝濡備綍鏋勯犲瀛楃瀛楃涓插父閲忓憿錛熷緢綆鍗曪紝鍙鍦ㄥ瓧絎︿覆甯擱噺鍓嶅姞涓婁竴涓ぇ鍐欑殑L灝卞彲浠ヤ簡錛屾瘮濡傦細 榪欎釜L闈炲父閲嶈錛屽彧鏈夊甫涓婂畠錛岀紪璇戝櫒鎵嶇煡閬撲綘瑕佸皢瀛楃涓插瓨鎴愪竴涓瓧絎︿竴涓瓧銆傝繕瑕佹敞鎰忥紝鍦↙鍜屽瓧絎︿覆涔嬮棿涓嶈兘鏈夌┖鏍箋?/p>
3銆佸瀛楃涓插簱鍑芥暟 涓轟簡鎿嶄綔瀹藉瓧絎︿覆錛孋++涓撻棬瀹氫箟浜嗕竴濂楀嚱鏁幫紝姣斿姹傚瀛楃涓查暱搴︾殑鍑芥暟鏄?/p> 銆銆涓轟粈涔堣涓撻棬瀹氫箟榪欎簺鍑芥暟鍛紵鏈鏍規湰鐨勫師鍥犳槸錛孉NSI涓嬬殑瀛楃涓查兘鏄互’\0’鏉ユ爣璇嗗瓧絎︿覆灝劇殑錛圲nicode瀛楃涓蹭互“\0\0”緇撴潫錛夛紝璁稿瀛楃涓插嚱鏁扮殑姝g‘鎿嶄綔鍧囨槸浠ユ涓哄熀紜榪涜銆傝屾垜浠煡閬擄紝鍦ㄥ瀛楃鐨勬儏鍐典笅錛屼竴涓瓧絎﹀湪鍐呭瓨涓鍗犳嵁涓涓瓧鐨勭┖闂達紝榪欏氨浼氫嬌鎿嶄綔ANSI瀛楃鐨勫瓧絎︿覆鍑芥暟鏃犳硶姝g‘鎿嶄綔銆備互”Hello”瀛楃涓蹭負渚嬶紝鍦ㄥ瀛楃涓嬶紝瀹冪殑浜斾釜瀛楃鏄細 銆銆浜庢槸錛孉NSI瀛楃涓插嚱鏁幫紝濡俿trlen錛屽湪紕板埌絎竴涓?8鍚庣殑00鏃訛紝灝變細璁や負瀛楃涓插埌灝句簡錛岀敤strlen瀵瑰瀛楃涓叉眰闀垮害鐨勭粨鏋滃氨姘歌繙浼氭槸1錛?/p>
4銆佺敤瀹忓疄鐜板ANSI鍜孶nicode閫氱敤鐨勭紪紼?/p>
銆銆鍙錛孋++鏈変竴鏁村鐨勬暟鎹被鍨嬪拰鍑芥暟瀹炵幇Unicode緙栫▼錛屼篃灝辨槸璇達紝鎮ㄥ畬鍏ㄥ彲浠ヤ嬌鐢–++瀹炵幇Unicode緙栫▼銆?br />濡傛灉鎴戜滑鎯寵鎴戜滑鐨勭▼搴忔湁涓や釜鐗堟湰錛欰NSI鐗堟湰鍜孶nicode鐗堟湰銆傚綋鐒訛紝緙栧啓涓ゅ浠g爜鍒嗗埆瀹炵幇ANSI鐗堟湰鍜孶nicode鐗堟湰瀹屽叏鏄寰楅氱殑銆備絾鏄紝閽堝ANSI瀛楃鍜孶nicode瀛楃緇存姢涓ゅ浠g爜鏄潪甯擱夯鐑︾殑浜嬫儏銆備負浜嗗噺杞葷紪紼嬬殑璐熸媴錛孋++瀹氫箟浜嗕竴緋誨垪鐨勫畯錛屽府鍔╂偍瀹炵幇瀵笰NSI鍜孶nicode鐨勯氱敤緙栫▼銆?br />銆銆C++瀹忓疄鐜癆NSI鍜孶nicode鐨勯氱敤緙栫▼鐨勬湰璐ㄦ槸鏍規嵁”_UNICODE”錛堟敞鎰忥紝鏈変笅鍒掔嚎錛夊畾涔変笌鍚︼紝榪欎簺瀹忓睍寮涓篈NSI鎴朥nicode瀛楃錛堝瓧絎︿覆錛夈?/p>
濡備笅鏄痶char.h澶存枃浠朵腑閮ㄥ垎浠g爜鎽樻妱錛?/p> A銆佸疄鐜板瓧絎﹀拰甯擱噺瀛楃涓插畾涔夌殑瀹?鎴戜滑鍙垪鍑轟袱涓渶甯哥敤鐨勫畯錛?/p>
娉ㄦ剰錛?br />銆銆“##”鏄疉NSI C鏍囧噯鐨勯澶勭悊璇硶錛屽畠鍙仛“綺樿創絎﹀彿”錛岃〃紺哄皢鍓嶉潰鐨凩娣誨姞鍒板畯鍙傛暟涓娿備篃灝辨槸璇達紝濡傛灉鎴戜滑鍐檁T(“Hello”)錛屽睍寮鍚庡嵆涓篖“Hello” B銆佸疄鐜板瓧絎︿覆鍑芥暟璋冪敤鐨勫畯 C++涓哄瓧絎︿覆鍑芥暟涔熷畾涔変簡涓緋誨垪瀹忥紝鍚屾牱錛屾垜浠彧渚嬩婦鍑犱釜甯哥敤鐨勫畯錛?/p>
鍥涖佷嬌鐢╓in32 API榪涜Unicode緙栫▼ Win32 API涓畾涔変簡涓浜涜嚜宸辯殑瀛楃鏁版嵁綾誨瀷銆傝繖浜涙暟鎹被鍨嬬殑瀹氫箟鍦╳innt.h澶存枃浠朵腑銆備緥濡傦細 浜斻乂C++6.0涓紪鍐橴nicode緙栫爜鐨勫簲鐢ㄧ▼搴?/p>
銆銆VC++ 6.0鏀寔Unicode緙栫▼錛屼絾榛樿鐨勬槸ANSI錛屾墍浠ュ紑鍙戜漢鍛樺彧闇瑕佺◢寰敼鍙樹竴涓嬬紪鍐欎唬鐮佺殑涔犳儻渚垮彲浠ヨ交鏉劇紪鍐欐敮鎸乁NICODE鐨勫簲鐢ㄧ▼搴忋?br />銆銆浣跨敤VC++ 6.0榪涜Unicode緙栫▼涓昏鍋氫互涓嬪嚑欏瑰伐浣滐細 1銆佷負宸ョ▼娣誨姞UNICODE鍜宊UNICODE棰勫鐞嗛夐」銆?/p>
銆銆鍏蜂綋姝ラ錛氭墦寮[宸ョ▼]->[璁劇疆…]瀵硅瘽妗嗭紝濡傚浘1鎵紺猴紝鍦–/C++鏍囩瀵硅瘽妗嗙殑“棰勫鐞嗙▼搴忓畾涔?#8221;涓幓闄MBCS錛屽姞涓奯UNICODE,UNICODE銆傦紙娉ㄦ剰涓棿鐢ㄩ楀彿闅斿紑錛夋敼鍔ㄥ悗濡傚浘2錛?/p>
銆銆鍦ㄦ病鏈夊畾涔塙NICODE鍜宊UNICODE鏃訛紝鎵鏈夊嚱鏁板拰綾誨瀷閮介粯璁や嬌鐢ˋNSI鐨勭増鏈紱鍦ㄥ畾涔変簡UNICODE鍜宊UNICODE涔嬪悗錛屾墍鏈夌殑MFC綾誨拰Windows API閮藉彉鎴愪簡瀹藉瓧鑺傜増鏈簡銆?br /> 銆銆鍥犱負MFC搴旂敤紼嬪簭鏈夐拡瀵筓nicode涓撶敤鐨勭▼搴忓叆鍙g偣錛屾垜浠璁劇疆entry point銆傚惁鍒欏氨浼氬嚭鐜拌繛鎺ラ敊璇?br />銆銆璁劇疆entry point鐨勬柟娉曟槸錛氭墦寮[宸ョ▼]->[璁劇疆…]瀵硅瘽妗嗭紝鍦↙ink欏電殑Output綾誨埆鐨凟ntry Point閲屽~涓妛WinMainCRTStartup銆?/p>
3銆佷嬌鐢ˋNSI/Unicode閫氱敤鏁版嵁綾誨瀷 銆銆寰蔣鎻愪緵浜嗕竴浜汚NSI鍜孶nicode鍏煎鐨勯氱敤鏁版嵁綾誨瀷錛屾垜浠渶甯哥敤鐨勬暟鎹被鍨嬫湁_T 錛孴CHAR錛孡PTSTR,LPCTSTR銆?br />銆銆欏轟究璇翠竴涓嬶紝LPCTSTR鍜宑onst TCHAR*鏄畬鍏ㄧ瓑鍚岀殑銆傚叾涓璍琛ㄧずlong鎸囬拡錛岃繖鏄負浜嗗吋瀹筗indows 3.1絳?6浣嶆搷浣滅郴緇熼仐鐣欎笅鏉ョ殑錛屽湪Win32 涓互鍙婂叾瀹冪殑32浣嶆搷浣滅郴緇熶腑錛宭ong鎸囬拡鍜宯ear鎸囬拡鍙奻ar淇グ絎﹂兘鏄負浜嗗吋瀹圭殑浣滅敤錛屾病鏈夊疄闄呮剰涔夈侾錛坧ointer錛夎〃紺鴻繖鏄竴涓寚閽堬紱C錛坈onst錛夎〃紺烘槸涓涓父閲忥紱T(_T瀹?琛ㄧず鍏煎ANSI鍜孶nicode錛孲TR錛坰tring錛夎〃紺鴻繖涓彉閲忔槸涓涓瓧絎︿覆銆傜患涓婂彲浠ョ湅鍑猴紝LPCTSTR琛ㄧず涓涓寚鍚戝父鍥哄畾鍦板潃鐨勫彲浠ユ牴鎹竴浜涘畯瀹氫箟鏀瑰彉璇箟鐨勫瓧絎︿覆銆傛瘮濡傦細 銆銆鍏跺疄錛屽湪涓婇潰鐨勮鍙ヤ腑錛屽嵆浣挎偍涓嶅姞_T瀹忥紝MessageBox鍑芥暟涔熶細鑷姩鎶?#8220;浣犲ソ”瀛楃涓茶繘琛屽己鍒惰漿鎹€備絾鎴戣繕鏄帹鑽愭偍浣跨敤_T瀹忥紝浠ヨ〃紺烘偍鏈塙nicode緙栫爜鎰忚瘑銆?/p>
4銆佷慨鏀瑰瓧絎︿覆榪愮畻闂 銆銆涓浜涘瓧絎︿覆鎿嶄綔鍑芥暟闇瑕佽幏鍙栧瓧絎︿覆鐨勫瓧絎︽暟(sizeof(szBuffer)/sizeof(TCHAR))錛岃屽彟涓浜涘嚱鏁板彲鑳介渶瑕佽幏鍙栧瓧絎︿覆鐨勫瓧鑺傛暟sizeof(szBuffer)銆傛偍搴旇娉ㄦ剰璇ラ棶棰樺茍浠旂粏鍒嗘瀽瀛楃涓叉搷浣滃嚱鏁幫紝浠ョ‘瀹氳兘澶熷緱鍒版紜殑緇撴灉銆?br />ANSI鎿嶄綔鍑芥暟浠tr寮澶達紝濡俿trcpy()錛宻trcat()錛宻trlen()錛?br />Unicode鎿嶄綔鍑芥暟浠cs寮澶達紝濡倃cscpy錛寃cscpy()錛寃cslen()錛?br />ANSI/Unicode鎿嶄綔鍑芥暟浠tcs寮澶?_tcscpy(C榪愯鏈熷簱)錛?br />ANSI/Unicode鎿嶄綔鍑芥暟浠str寮澶?lstrcpy(Windows鍑芥暟)錛?br />鑰冭檻ANSI鍜孶nicode鐨勫吋瀹癸紝鎴戜滑闇瑕佷嬌鐢ㄤ互_tcs寮澶存垨lstr寮澶寸殑閫氱敤瀛楃涓叉搷浣滃嚱鏁般?/p>
鍏佷婦涓猆nicode緙栫▼鐨勪緥瀛?/p>
絎竴姝ワ細 絎簩姝ワ細 寮瑰嚭鐨勫璇濇鍗曞嚮“鏄?#8221;錛岄噸鏂板惎鍔ㄨ綆楁満浣胯緗敓鏁堛?br />榪愯Unicode.exe紼嬪簭騫跺崟鍑?#8220;Button1”鎸夐挳錛岀湅錛岄潤鎬佹枃鏈鍑虹幇浜嗕貢鐮併?/p>
絎笁姝ワ細 灝辮榪欎簺鍚э紝紲濇偍濂借繍銆?/p>涓銆佷笁縐嶅崗璁?/h2>
浜屻佸伐浣滃師鐞?/span>
涓夈佷粈涔堟槸MX璁板綍
]]>
鍥犱負澶ч儴鍒嗛兘鎼為敊浜嗕竴涓噸瑕佺殑鍩虹錛屽氨鏄痻64涓嶄唬琛?4bit錛屼唬琛?4bit鐨勪笢瑗垮彨鍋欼A64銆?/span>
璇翠竴澶у爢涓撲笟鏈鎭愭曞ぇ閮ㄥ垎浜洪兘鎳掑緱鐪嬶紝涔熺湅涓嶆噦錛屽氨綆鍗曡姒傚康鎬х殑涓滆タ銆?/span>
鐪熸鎰忎箟涓婄函64bit鐨勪笢瑗垮彧鏈塱ntel鐨処A64錛屽畠瀹屽叏涓嶅吋瀹箈86榪愮畻錛岄渶瑕佺敤鍒皒86-to-IA-64鐨勮В鐮佸櫒鎵嶈兘榪涜x86榪愮畻錛屼絾鏄ц兘鎹熷け寰堝帀瀹熾?/span>
x64榪欎釜涓滆タ鍑嗙‘鏉ヨ搴旇鏄痻86鎷撳睍x64鎶鏈紝amd鍜宨ntel鐨勪笢瑗挎牴鏈兘鏄竴涓ц川銆?/span>
榪欎釜鎶鏈槸鐢ㄦ潵瑙e喅64bit緋葷粺澶勭悊x86浠g爜闇瑕佹崯澶辨ц兘鐨勫叧閿紝鍥犱負瀹冩槸鐩存帴浣跨敤x86鐨刢pu鎷撳睍鍒?4bit錛屼嬌x86鐨刢pu鍗沖彲浠ュ鐞唜86榪愮畻錛屼篃鍙互澶勭悊64bit榪愮畻
鍜孖A64鐨勮В鐮佸櫒鍙互璇存槸瀹屽叏鍙嶈繃鏉ョ殑涓滆タ錛孖A64鐨勮В鐮佸櫒鏄64bit鐨刢pu澶勭悊琚漿鎹㈡垚64bit鐨?2bit浠g爜錛岃寈64鍒欐槸x86鐨刢pu鐩存帴澶勭悊32bit鍜?4bit鐨勮繍綆椼?/span>
鑰屼簤璁虹殑鍏抽敭灝卞湪浜?2bit鍜?4bit鐨勮蔣浠訛紝瀹為檯涓婄幇鍦ㄦ垜浠嬌鐢ㄧ殑鎵璋?4bit cpu閮芥槸x64鐨刢pu錛?4bit鐨刢pu鍙湁Intel鐨勫畨鑵劇郴鍒楄屽凡錛屼篃鍙湁浠栦滑鍙互瀹夎瀹夎吘鏈嶅姟鍣ㄧ増鍘熺敓綰?4bit鐨剋indows銆?/span>
鑰寈64鐨勬湰璐ㄥ氨鏄敤鏉ュ悓鏃跺鐞?2bit鍜?4bit錛屾墍浠ュ湪x64涓婇潰鏍規湰鏃犺皳杞歡鐨?2bit鍜?4bit涔嬪垎錛屽洜涓轟袱鑰呴兘鍙互闈炲父欏哄埄鐨勮繍鐢ㄥ湪x64鐨勬瀯鏋朵笂闈紝鍙槸64bit鐨勮蔣浠舵晥鐜囨瘮32bit鐨勮蔣浠惰楂樺緱澶氾紝浣嗘槸涓嶄唬琛?2bit鐨勮蔣浠跺湪x64涓婇潰浼氬嚭鐜伴棶棰橈紝褰撶劧榪欓噷涓嶅寘鎷偅浜涗嬌鐢?6浣嶅畨瑁呬唬鐮佺殑紼嬪簭錛寈64鎶涘純浜?6浣嶏紝榪欎綘鍘婚棶寰蔣銆?/span>
鎹㈠彞璇濊錛屾兂瑕亁64鍙繍琛?4bit鐨勬椂浠f槸涓嶄細鍒版潵錛屽洜涓簒64灝辨槸涓轟簡鍚屾椂榪愯x86鍜?4bit鑰屽嚭鐜扮殑涓滆タ錛岄偅涓椂浠e彧浼氬睘浜庡畨鑵綾pu錛岃屼笉鏄垜浠幇鍦ㄦ墜閲岀殑鎷ユ湁x64鎶鏈殑x86 cpu銆?/span>
32bit鐨勪唬鐮佸湪x64涓案榪滀篃涓嶅洖娑堝け錛屽洜涓洪偅灝辨槸x64鍑虹幇鐨勭洰鐨勩?br />http://flysky.fm1062.com/post/20091119-1.aspx
]]>
涓嬮潰渚嬩婦鍑犱釜瀛楃鐨勭紪鐮佷互綆鍗曟紨紺篈NSI鍜孶nicode鐨勫尯鍒細
瀛楃
A
N
鍜?/td>
ANSI鐮?/td>
41H
4eH
cdbaH
Unicode鐮?/td>
0041H
004eH
548cH typedef unsigned short wchar_t;
wchar_t *str1=L" Hello";
size_t __cdel wchlen(const wchar_t*);
0x0048 0x0065 0x006c 0x006c 0x006f
鍦ㄥ唴瀛樹腑錛屽疄闄呯殑鎺掑垪鏄細48 00 65 00 6c 00 6c 00 6f 00
#ifdef _UNICODE
typedef wchar_t TCHAR;
#define __T(x) L##x
#define _T(x) __T(x)
#else
#define __T(x) x
typedef char TCHAR;
#endif
銆銆 鍙錛岃繖浜涘畯鏍規嵁”_UNICODE” 瀹氫箟涓庡惁錛屽垎鍒睍寮涓篈NSI鎴朥nicode瀛楃銆?tchar.h澶存枃浠朵腑瀹氫箟鐨勫畯鍙互鍒嗕負涓ょ被錛?
瀹?/td>
鏈畾涔塤UNICODE(ANSI瀛楃)
瀹氫箟浜哶UNICODE(Unicode瀛楃)
TCHAR
char
wchar_t
_T(x)
x
L##x
瀹?/td>
鏈畾涔塤UNICODE(ANSI瀛楃)
瀹氫箟浜哶UNICODE(Unicode瀛楃)
_tcschr
strchr
wcschr
_tcscmp
strcmp
wcscmp
_tcslen
strlen
wcslen typedef char CHAR;
typedef unsigned short WCHAR; // wc, 16-bit UNICODE character
typedef CONST CHAR *LPCSTR, *PCSTR;
Win32 API鍦╳innt.h澶存枃浠朵腑瀹氫箟浜嗕竴浜涘疄鐜板瓧絎﹀拰甯擱噺瀛楃涓茬殑瀹忚繘琛孉NSI/Unicode閫氱敤緙栫▼銆傚悓鏍鳳紝鍙緥涓懼嚑涓渶甯哥敤鐨勶細#ifdef UNICODE
typedef WCHAR TCHAR, *PTCHAR;
typedef LPWSTR LPTCH, PTCH;
typedef LPWSTR PTSTR, LPTSTR;
typedef LPCWSTR LPCTSTR;
#define __TEXT(quote) L##quote // r_winnt
#else /* UNICODE */ // r_winnt
typedef char TCHAR, *PTCHAR;
typedef LPSTR LPTCH, PTCH;
typedef LPSTR PTSTR, LPTSTR;
typedef LPCSTR LPCTSTR;
#define __TEXT(quote) quote // r_winnt
#endif /* UNICODE */ // r_winnt
銆銆浠庝互涓婂ご鏂囦歡鍙互鐪嬪嚭錛寃innt.h鏍規嵁鏄惁瀹氫箟浜哢NICODE錛堟病鏈変笅鍒掔嚎錛夛紝榪涜鏉′歡緙栬瘧銆?br />銆銆 Win32 API涔熷畾涔変簡涓濂楀瓧絎︿覆鍑芥暟錛屽畠浠牴鎹槸鍚﹀畾涔変簡“UNICODE”鍒嗗埆灞曞紑涓篈NSI鍜孶nicode瀛楃涓插嚱鏁般傚錛歭strlen銆侫PI鐨勫瓧絎︿覆鎿嶄綔鍑芥暟鍜孋++鐨勬搷浣滃嚱鏁板彲浠ュ疄鐜扮浉鍚岀殑鍔熻兘錛屾墍浠ワ紝濡傛灉闇瑕佺殑璇濓紝寤鴻鎮ㄥ敖鍙兘浣跨敤C++鐨勫瓧絎︿覆鍑芥暟錛屾病蹇呰鍘昏姳澶綺懼姏鍐嶅幓瀛︿範API鐨勮繖浜涗笢瑗褲?br />銆銆涔熻鎮ㄤ粠鏉ユ病鏈夋敞鎰忓埌錛學in32 API瀹為檯涓婃湁涓や釜鐗堟湰銆備竴涓増鏈帴鍙桵BCS瀛楃涓詫紝鍙︿竴涓帴鍙桿nicode瀛楃涓層備緥濡傦細鍏跺疄鏍規湰娌℃湁SetWindowText()榪欎釜API鍑芥暟錛岀浉鍙嶏紝鏈塖etWindowTextA()鍜孲etWindowTextW()銆傚悗緙A琛ㄦ槑榪欐槸MBCS鍑芥暟錛屽悗緙W琛ㄧず榪欐槸Unicode鐗堟湰鐨勫嚱鏁般傝繖浜汚PI鍑芥暟鐨勫ご鏂囦歡鍦╳inuser.h涓0鏄庯紝涓嬮潰渚嬩婦winuser.h涓殑SetWindowText()鍑芥暟鐨勫0鏄庨儴鍒嗭細#ifdef UNICODE
#define SetWindowText SetWindowTextW
#else
#define SetWindowText SetWindowTextA
#endif // !UNICODE
銆銆 鍙錛孉PI鍑芥暟鏍規嵁瀹氫箟UNICODE涓庡惁鍐沖畾鎸囧悜Unicode鐗堟湰榪樻槸MBCS鐗堟湰銆?br />銆銆緇嗗績鐨勮鑰呭彲鑳藉凡緇忔敞鎰忓埌浜哢NICODE鍜宊UNICODE鐨勫尯鍒紝鍓嶈呮病鏈変笅鍒掔嚎錛屼笓闂ㄧ敤浜嶹indows澶存枃浠訛紱鍚庤呮湁涓涓墠緙涓嬪垝綰匡紝涓撻棬鐢ㄤ簬C榪愯鏃跺ご鏂囦歡銆傛崲鍙ヨ瘽璇達紝涔熷氨鏄湪ANSI C++璇█閲岄潰鏍規嵁_UNICODE錛堟湁涓嬪垝綰匡級瀹氫箟涓庡惁錛屽悇瀹忓垎鍒睍寮涓篣nicode鎴朅NSI瀛楃錛屽湪Windows閲岄潰鏍規嵁UNICODE錛堟棤涓嬪垝綰匡級瀹氫箟涓庡惁錛屽悇瀹忓垎鍒睍寮涓篣nicode鎴朅NSI瀛楃銆?br />銆銆鍦ㄥ悗闈㈡垜浠皢浼氱湅鍒幫紝瀹為檯浣跨敤涓垜浠笉鍔犱弗鏍煎尯鍒嗭紝鍚屾椂瀹氫箟_UNICODE鍜孶NICODE錛屼互瀹炵幇UNICODE鐗堟湰緙栫▼銆?

鍥句竴
鍥句簩
2銆佽緗▼搴忓叆鍙g偣
鍥句笁TCHAR* szText=_T(“Hello!”);
TCHAR szText[]=_T(“I Love You”);
LPCTSTR lpszText=_T(“澶у濂斤紒”);
浣跨敤鍑芥暟涓殑鍙傛暟鏈濂戒篃瑕佹湁鍙樺寲錛屾瘮濡傦細MessageBox(_T(“浣犲ソ”));
銆銆鎵撳紑VC++6.0錛屾柊寤哄熀浜庡璇濇鐨勫伐紼婾nicode錛屼富瀵硅瘽妗咺DD_UNICODE_DIALOG涓姞鍏ヤ竴涓寜閽帶浠訛紝鍙屽嚮璇ユ帶浠跺茍娣誨姞璇ユ帶浠剁殑鍝嶅簲鍑芥暟錛?/p>void CUnicodeDlg::OnButton1()
{
TCHAR* str1=_T("ANSI鍜孶NICODE緙栫爜璇曢獙");
m_disp=str1;
UpdateData(FALSE);
}
銆銆 娣誨姞闈欐佹枃鏈IDC_DISP錛屼嬌鐢–lassWizard緇欒鎺т歡娣誨姞CString綾誨瀷鍙橀噺m_disp銆?浣跨敤榛樿ANSI緙栫爜鐜緙栬瘧璇ュ伐紼嬶紝鐢熸垚Unicode.exe銆?
銆銆鎵撳紑“鎺у埗闈㈡澘”錛屽崟鍑?#8220;鏃ユ湡銆佹椂闂淬佽璦鍜屽尯鍩熻緗?#8221;閫夐」錛屽湪“鏃ユ湡銆佹椂闂淬佽璦鍜屽尯鍩熻緗?#8221;紿楀彛涓戶緇崟鍑?#8220;鍖哄煙鍜岃璦閫夐」”閫夐」錛屽脊鍑?#8220;鍖哄煙鍜岃璦閫夐」”瀵硅瘽妗嗐?鍦ㄨ瀵硅瘽妗嗕腑錛屽崟鍑?#8220;楂樼駭”鏍囩錛屽皢“闈濽nicode鐨勭▼搴忕殑璇█”閫夐」鏀逛負“鏃ヨ”錛屽崟鍑?#8220;搴旂敤”鎸夐挳錛屽鍥懼洓錛?/p>

鍥懼洓
銆銆鏀逛負Unicode緙栫爜鐜緙栬瘧璇ュ伐紼嬶紝鐢熸垚Unicode.exe銆傚啀嬈¤繍琛孶nicode.exe紼嬪簭騫跺崟鍑?#8220;Button1”鎸夐挳銆傜湅鍒癠nicode緙栫爜鐨勪紭鍔夸簡鍚с?/p>
]]>
鍦ㄦ棩甯告搷浣滃拰緇存姢璁$畻鏈虹殑榪囩▼涓紝甯稿父鍙互鍚埌鏈夊叧BIOS璁劇疆鍜孋MOS璁劇疆鐨勪竴浜涜娉曪紝璁稿浜哄BIOS鍜孋MOS緇忓父娣蜂負涓璋堛傛湰鏂囦富瑕侀槓榪板BIOS璁劇疆鍜孋MOS璁劇疆鍦ㄥ熀鏈蹇典笂鐨勫尯鍒嗕笌鑱旂郴銆?銆銆
銆銆BIOS鏄粈涔?
銆銆鎵璋揃IOS錛屽疄闄呬笂灝辨槸寰満鐨勫熀鏈緭鍏ヨ緭鍑虹郴緇燂紙Basic Input錛峅utput System錛夛紝鍏跺唴瀹歸泦鎴愬湪寰満涓繪澘涓婄殑涓涓猂OM鑺墖涓婏紝涓昏淇濆瓨鐫鏈夊叧寰満緋葷粺鏈閲嶈鐨勫熀鏈緭鍏ヨ緭鍑虹▼搴忥紝緋葷粺淇℃伅璁劇疆銆佸紑鏈轟笂鐢佃嚜媯紼嬪簭鍜岀郴緇熷惎鍔ㄨ嚜涓劇▼搴忕瓑銆?
BIOS鐨勫姛鐢?
銆銆BIOS ROM鑺墖涓嶄絾鍙互鍦ㄤ富鏉夸笂鐪嬪埌錛岃屼笖BIOS綆$悊鍔熻兘濡備綍鍦ㄥ緢澶х▼搴︿笂鍐沖畾浜嗕富鏉挎ц兘鏄惁浼樿秺銆侭IOS綆$悊鍔熻兘涓昏鍖呮嫭錛?銆銆
銆銆1錛?BIOS涓柇鏈嶅姟紼嬪簭
銆銆BIOS涓柇鏈嶅姟紼嬪簭瀹炶川涓婃槸寰満緋葷粺涓蔣浠朵笌紜歡涔嬮棿鐨勪竴涓彲緙栫▼鎺ュ彛錛屼富瑕佺敤鏉ュ湪紼嬪簭杞歡涓庡井鏈虹‖浠朵箣闂村疄鐜拌鎺ャ備緥濡傦紝DOS鍜學indows鎿嶄綔緋葷粺涓杞洏銆佺‖鐩樸佸厜椹便侀敭鐩樸佹樉紺哄櫒絳夊鍥磋澶囩殑綆$悊錛岄兘鏄洿鎺ュ緩绔嬪湪BIOS緋葷粺涓柇鏈嶅姟紼嬪簭鐨勫熀紜涓婏紝鑰屼笖鎿嶄綔浜哄憳涔熷彲浠ラ氳繃璁塊棶INT 5銆両NT 13絳変腑鏂偣鑰岀洿鎺ヨ皟鐢˙IOS涓柇鏈嶅姟紼嬪簭銆?銆銆
銆銆2錛嶣IOS緋葷粺璁劇疆紼嬪簭
銆銆寰満閮ㄤ歡閰嶇疆璁板綍鏄斁鍦ㄤ竴鍧楀彲璇誨啓鐨?CMOS RAM 鑺墖涓殑錛屼富瑕佷繚瀛樼潃緋葷粺鍩烘湰鎯呭喌銆丆PU鐗規с佽蔣紜洏椹卞姩鍣ㄣ佹樉紺哄櫒銆侀敭鐩樼瓑閮ㄤ歡鐨勪俊鎭傚湪 BIOS ROM鑺墖涓鏈?緋葷粺璁劇疆紼嬪簭"錛屼富瑕佺敤鏉ヨ緗瓹MOS RAM涓殑鍚勯」鍙傛暟銆傝繖涓▼搴忓湪寮鏈烘椂鎸変笅鏌愪釜鐗瑰畾閿嵆鍙繘鍏ヨ緗姸鎬侊紝騫舵彁渚涗簡鑹ソ鐨勭晫闈緵鎿嶄綔浜哄憳浣跨敤銆備簨瀹炰笂錛岃繖涓緗瓹MOS鍙傛暟鐨勮繃紼嬶紝涔犳儻涓婁篃縐頒負" BIOS璁劇疆"銆備竴鏃MOS RAM鑺墖涓叧浜庡井鏈虹殑閰嶇疆淇℃伅涓嶆紜椂錛岃交鑰呬細浣垮緱緋葷粺鏁翠綋榪愯鎬ц兘闄嶄綆銆佽蔣紜洏椹卞姩鍣ㄧ瓑閮ㄤ歡涓嶈兘璇嗗埆錛屼弗閲嶆椂灝變細鐢辨寮曞彂涓緋葷粺鐨勮蔣紜歡鏁呴殰銆?
銆銆3錛?POST涓婄數鑷
銆銆寰満鎸夐氱數婧愬悗錛岀郴緇熼鍏堢敱POST錛圥ower On Self Test,涓婄數鑷)紼嬪簭鏉ュ鍐呴儴鍚勪釜璁懼榪涜媯鏌ャ傞氬父瀹屾暣鐨凱OST鑷灝嗗寘鎷 CPU銆?40K鍩烘湰鍐呭瓨銆?1M浠ヤ笂鐨勬墿灞曞唴瀛樸丷OM銆佷富鏉褲丆MOS瀛樿串鍣ㄣ佷覆騫跺彛銆佹樉紺哄崱銆佽蔣紜洏瀛愮郴緇熷強閿洏榪涜嫻嬭瘯錛屼竴鏃﹀湪鑷涓彂鐜伴棶棰橈紝緋葷粺灝嗙粰鍑烘彁紺轟俊鎭垨楦g瑳璀﹀憡銆?銆銆
銆銆4錛?BIOS緋葷粺鍚姩鑷婦紼嬪簭
銆銆緋葷粺鍦ㄥ畬鎴?POST鑷鍚庯紝 ROM BIOS 灝遍鍏堟寜鐓х郴緇?CMOS璁劇疆涓繚瀛樼殑鍚姩欏哄簭鎼滃杞‖鐩橀┍鍔ㄥ櫒鍙奀D-ROM銆佺綉緇滄湇鍔″櫒絳夋湁鏁堝湴鍚姩椹卞姩鍣紝璇誨叆鎿嶄綔緋葷粺寮曞璁板綍錛岀劧鍚庡皢緋葷粺鎺у埗鏉冧氦緇欏紩瀵艱褰曪紝騫剁敱寮曞璁板綍鏉ュ畬鎴愮郴緇熺殑欏哄埄鍚姩銆?
銆銆CMOS鏄粈涔?
銆銆CMOS(鏈剰鏄寚浜掕ˉ閲戝睘姘у寲鐗╁崐瀵間綋瀛樺偍鍤o紝鏄竴縐嶅ぇ瑙勬ā搴旂敤浜庨泦鎴愮數璺姱鐗囧埗閫犵殑鍘熸枡)鏄井鏈轟富鏉夸笂鐨勪竴鍧楀彲璇誨啓鐨凴AM鑺墖錛屼富瑕佺敤鏉ヤ繚瀛樺綋鍓嶇郴緇熺殑紜歡閰嶇疆鍜屾搷浣滀漢鍛樺鏌愪簺鍙傛暟鐨勮瀹氥侰MOS RAM鑺墖鐢辯郴緇熼氳繃涓鍧楀悗澶囩數姹犱緵鐢碉紝鍥犳鏃犺鏄湪鍏蟲満鐘舵佷腑錛岃繕鏄亣鍒扮郴緇熸帀鐢墊儏鍐碉紝CMOS淇℃伅閮戒笉浼氫涪澶便?
銆銆鐢變簬CMOS RAM鑺墖鏈韓鍙槸涓鍧楀瓨鍌ㄥ櫒錛屽彧鍏鋒湁淇濆瓨鏁版嵁鐨勫姛鑳斤紝鎵浠ュCMOS涓悇欏瑰弬鏁扮殑璁懼畾瑕侀氳繃涓撻棬鐨勭▼搴忋傛棭鏈熺殑CMOS璁劇疆紼嬪簭椹葷暀鍦ㄨ蔣鐩樹笂鐨?濡侷BM鐨凱C/AT鏈哄瀷)錛屼嬌鐢ㄥ緢涓嶆柟渚褲傜幇鍦ㄥ鏁板巶瀹跺皢CMOS璁劇疆紼嬪簭鍋氬埌浜?BIOS鑺墖涓紝鍦ㄥ紑鏈烘椂閫氳繃鎸変笅鏌愪釜鐗瑰畾閿氨鍙繘鍏MOS璁劇疆紼嬪簭鑰岄潪甯告柟渚垮湴瀵圭郴緇熻繘琛岃緗紝鍥犳榪欑CMOS璁劇疆鍙堥氬父琚彨鍋欱IOS璁劇疆銆?
BIOS璁劇疆鍜孋MOS璁劇疆鐨勫尯鍒笌鑱旂郴
銆銆BIOS鏄富鏉夸笂鐨勪竴鍧桬PROM鎴朎EPROM鑺墖錛岄噷闈㈣鏈夌郴緇熺殑閲嶈淇℃伅鍜岃緗郴緇熷弬鏁扮殑璁劇疆紼嬪簭錛圔IOS Setup紼嬪簭)錛汣MOS鏄富鏉夸笂鐨勪竴鍧楀彲璇誨啓鐨凴AM 鑺墖錛岄噷闈㈣鐨勬槸鍏充簬緋葷粺閰嶇疆鐨勫叿浣撳弬鏁幫紝鍏跺唴瀹瑰彲閫氳繃璁劇疆紼嬪簭榪涜璇誨啓銆侰MOS RAM 鑺墖闈犲悗澶囩數姹犱緵鐢碉紝鍗充嬌緋葷粺鎺夌數鍚庝俊鎭篃涓嶄細涓㈠け銆侭IOS涓嶤MOS鏃㈢浉鍏沖張涓嶅悓錛欱IOS涓殑緋葷粺璁劇疆紼嬪簭鏄畬鎴怌MOS鍙傛暟璁劇疆鐨勬墜孌碉紱CMOS RAM鏃㈡槸BIOS璁懼畾緋葷粺鍙傛暟鐨勫瓨鏀懼満鎵錛屽張鏄?BIOS璁懼畾緋葷粺鍙傛暟鐨勭粨鏋溿傚洜姝わ紝瀹屾暣鐨勮娉曞簲璇ユ槸"閫氳繃BIOS璁劇疆紼嬪簭瀵笴MOS鍙傛暟榪涜璁劇疆"銆傜敱浜?BIOS鍜孋MOS閮借窡緋葷粺璁劇疆瀵嗗垵鐩稿叧錛屾墍浠ュ湪瀹為檯浣跨敤榪囩▼涓犳垚浜咮IOS璁劇疆鍜孋MOS璁劇疆鐨勮娉曪紝鍏跺疄鎸囩殑閮芥槸鍚屼竴鍥炰簨錛屼絾BIOS涓嶤MOS鍗存槸涓や釜瀹屽叏涓嶅悓鐨勬蹇碉紝鍗冧竾涓嶅彲鎼炴販娣嗐?
銆銆浣曟椂瑕佸BIOS鎴朇MOS榪涜璁劇疆錛?
銆銆浼楁墍鍛ㄧ煡錛岃繘琛孊IOS鎴朇MOS璁劇疆鏄敱鎿嶄綔浜哄憳鏍規嵁寰満瀹為檯鎯呭喌鑰屼漢宸ュ畬鎴愮殑涓欏瑰崄鍒嗛噸瑕佺殑緋葷粺鍒濆鍖栧伐浣溿傚湪浠ヤ笅鎯呭喌涓嬶紝蹇呴』榪涜BIOS鎴朇MOS榪涜璁劇疆錛?
銆銆1銆佹柊璐井鏈?/font>
銆銆鍗充嬌甯nP鍔熻兘鐨勭郴緇熶篃鍙兘璇嗗埆涓閮ㄥ垎寰満澶栧洿璁懼錛岃屽杞‖鐩樺弬鏁般佸綋鍓嶆棩鏈熴佹椂閽熺瓑鍩烘湰璧勬枡絳夊繀欏葷敱鎿嶄綔浜哄憳榪涜璁劇疆錛屽洜姝ゆ柊璐拱鐨勫井鏈哄繀欏婚氳繃榪涜CMOS鍙傛暟璁劇疆鏉ュ憡璇夌郴緇熸暣涓井鏈虹殑鍩烘湰閰嶇疆鎯呭喌銆?
銆銆2錛庢柊澧炶澶?
銆銆鐢變簬緋葷粺涓嶄竴瀹氳兘璁よ瘑鏂板鐨勮澶囷紝鎵浠ュ繀欏婚氳繃CMOS璁劇疆鏉ュ憡璇夊畠銆傚彟澶栵紝涓鏃︽柊澧炶澶囦笌鍘熸湁璁懼涔嬮棿鍙戠敓浜咺RQ銆丏MA鍐茬獊錛屼篃寰寰闇瑕侀氳繃BIOS璁劇疆鏉ヨ繘琛屾帓闄ゃ?
銆銆3錛嶤MOS鏁版嵁鎰忓涓㈠け
銆銆鍦ㄧ郴緇熷悗澶囩數姹犲け鏁堛佺梾姣掔牬鍧忎簡 CMOS鏁版嵁紼嬪簭銆佹剰澶栨竻闄や簡CMOS鍙傛暟絳夋儏鍐典笅錛屽父甯鎬細閫犳垚CMOS鏁版嵁鎰忓涓㈠け銆傛鏃跺彧鑳介噸鏂拌繘鍏IOS璁劇疆紼嬪簭瀹屾垚鏂扮殑CMOS鍙傛暟璁劇疆銆?
銆銆4錛庣郴緇熶紭鍖?
銆銆瀵逛簬鍐呭瓨璇誨啓絳夊緟鏃墮棿銆佺‖鐩樻暟鎹紶杈撴ā寮忋佸唴錛忓 Cache鐨勪嬌鐢ㄣ佽妭鑳戒繚鎶ゃ佺數婧愮鐞嗐佸紑鏈哄惎鍔ㄩ『搴忕瓑鍙傛暟錛?BIOS涓瀹氱殑璁劇疆瀵圭郴緇熻岃█騫朵笉涓瀹氬氨鏄渶浼樼殑錛屾鏃跺線寰闇瑕佺粡榪囧嬈¤瘯楠屾墠鑳芥壘鍒扮郴緇熶紭鍖栫殑鏈浣崇粍鍚?/font>
鏈榪戝緢澶氬浗鍐呭瀹㈡埛錛屽悜鎴戦棶鍒拌蔣鍘嬬緝涓庣‖鍘嬬緝鐨勫尯鍒笌閫夋嫨鐨勯棶棰橈紝浠婂ぉ鎴戝湪榪欓噷灝嗗杞帇緙╁崱涓庣‖鍘嬬緝鍗″仛涓涓姣斿垎鏋愪笌浠嬬粛銆?/font>
錛堜竴錛夎蔣鍘嬬緝DVR鍗′笌紜帇緙╁崱
杞帇緙╁崱錛屼篃縐拌棰戦噰闆嗗崱錛岃鐢佃礬鏉垮崱涓昏鏄敱1涓垨澶氫釜瑙嗛閲囬泦鑺墖鍙婂懆杈瑰厓浠躲佺數璺粍鎴愶紝鐢佃礬緇撴瀯姣旂‖鍘嬬緝綆鍗曪紝鎴愭湰涔熻繙浣庝簬紜帇緙┿傝繖縐嶅崱鍙礋璐i噰闆嗚棰戯紝鑰岃棰戝帇緙┿佽В鍘嬬緝鍙婂叾浠栬棰戝鐞嗗垯鏄敱CPU榪愮畻瀹炵幇銆?/font>
紜帇緙╁崱錛屼篃縐拌棰戦噰闆嗗帇緙╁崱錛岃鐢佃礬鏉垮崱涓庤蔣鍘嬬緝鍗′笉鍚岀殑鏄紝澶氫簡瑙嗛鍘嬬緝涓庤В鍘嬬緝閮ㄥ垎鐢佃礬緇撴瀯錛岃棰戝帇緙╂病鏈変氦緇欑數鑴慍PU鍘誨鐞嗭紝鑰屾槸浜や釜DSP鑺墖鍘誨鐞嗙殑銆傛墍浠ョ‖鍘嬬緝鍗$數璺洿澶嶆潅銆?/font>
錛堜簩錛夎蔣鍘嬬緝DVR鍗′笌紜帇緙╁崱涓昏寮鍙戝晢
杞帇緙〥VR鍗$‖浠舵瘮杈冪畝鍗曪紝杞帇緙╁崱寰堝皯鏈夎姱鐗囧晢鎻愪緵寮鍙戝寘鐨勶紝涓鑸兘闇瑕佽嚜宸卞叕鍙稿畬鍏ㄨ嚜涓誨紑鍙戯紝鎵浠ュ紑鍙戦毦搴﹁緝澶э紝鎷ユ湁瀹屽叏鑷富寮鍙戣兘鍔涚殑杞帇緙╁崱鐮斿彂鍟嗕笉澶氾紝涓昏鏈夊彴婀懼鍋躲侀煩鍥終odicom銆佷笌鎴戝浗鐨勬繁鍦蟲嘗綺掓櫤鑳界瓑銆?/font>
紜帇緙╁崱鍘傚晢闂ㄥぇ澶氭槸閲囩敤鑺墖鍘傚晢鎻愪緵鐨勯┍鍔ㄤ笌SDK寮鍙戝寘錛岃繘琛屼簩嬈″紑鍙戯紝鐒跺悗鍐嶆暣鐞嗗嚭鑷繁鐨勫紑鍙戝寘錛屽張鎻愪緵緇欎笅涓綰ц蔣浠跺紑鍙戝晢鍋氫笁嬈″紑鍙戙傜敱浜庢湁鑺墖鍒墮犲晢鎻愪緵浜嗗畬鍠勭殑寮鍙戝寘錛屾墍浠ュ紑鍙戦毦搴︾浉瀵硅緝灝忥紝鍥藉唴鍑虹幇浜嗕竴澶ф壒紜帇緙╁巶鍟嗭紝濡傦細鏉窞嫻峰悍濞佽銆佹垚閮藉痙鍔犳媺銆佹姹夋亽浜褲佸箍宸為噾楣忋佹繁鍦沖浘鏁忋佹澀宸炴槦杈夌瓑銆?/font>
錛堜笁錛夎蔣鍘嬬緝DVR鍗′笌紜帇緙╁崱浼樺娍瀵規瘮
1錛変嬌鐢ㄥ鍛?/font>
DVR浜у搧鏇存柊鎹唬蹇紝鍙樺寲鏈蹇殑鏄帇緙╃畻娉曚笌杞歡鍔熻兘閮ㄥ垎錛岃蔣鍘嬬緝鍗★紙榪欓噷鎸囩殑鏄鐗堣蔣鍘嬬緝鍗★級鐏墊椿鎬у己錛屽畠娌℃湁鎶婅蔣浠朵笌鍘嬬緝綆楁硶閮ㄥ垎娌℃湁鍥哄寲鍦ㄨ姱鐗囬噷錛屽崌綰х伒媧伙紝涓嶅鏄撹娣樻卑鎺夛紝涓鏃︽湁鏇撮珮鏁堢巼鐨勫帇緙╃畻娉曪紝寰堝揩鍙互閫氳繃鍏嶈垂杞歡鍗囩駭鑰屾彁楂樻偍鐨凞VR璐ㄩ噺錛岃岀‖鍘嬬緝DVR鏄皢鍘嬬緝綆楁硶鍐欏叆DSP鑺墖錛屽崌綰ч夯鐑︼紝浣跨敤瀵垮懡鐭紝浼楁墍鍛ㄧ煡錛屽墠鍑犲勾鐨勪環鍊奸珮杈懼嚑鍗冪敋鑷充竴涓囧厓浠ヤ笂鐨凪PEG-1紜帇緙╁崱錛屼嬌鐢ㄤ笉鍒頒竴騫村氨鍥犱負鏃犳硶鍗囩駭鑰屾窐姹頒簡
2錛夊帇緙╂晥鐜?
鍦ㄨ棰戝帇緙╄兘鍔涙柟闈紝紜帇緙╀紭浜庤蔣鍘嬬緝銆傝蔣鍘嬬緝鍗$敱浜庡埄鐢–PU鍘嬬緝錛屾秷鑰楃數鑴戣祫婧愶紝鍚堢悊閰嶇疆鐢佃剳鏄蔣鍘嬬緝DVR闀挎湡紼沖畾榪愯鐨勫叧閿傞殢甯傚満涓繪祦CPU鎬ц兘涓庨熷害鍔犲揩錛岃蔣鍘嬬緝澶勭悊鑳藉姏涔熼殢鐫鍔犲己錛岄噰鐢ㄦ櫘閫氱殑璧涙壃1.7G灝辮兘鍘嬬緝4-8璺紙352 X 288錛夊疄鏃訛紝涓鏃︿笉涔呯殑灝嗘潵64浣峎indows鎿嶄綔緋葷粺闈㈠競錛岃蔣鍘嬬緝鍗¢噰鐢ㄥ粔浠稟MD64浣岰PU鍘嬬緝瑙嗛錛屽氨鎴愪簡杞昏交鏉炬澗鐨勪簨鎯咃紝鍘嬬緝32璺疄鏃跺皢涓嶅啀鏄毦棰樹簡銆傚埌浜嗚繖鏃惰蔣鍘嬬緝灝嗗彲鑳藉彇浠g‖鍘嬬緝鍗°?/font>
鍦ㄥ帇緙╂瘮鏂歸潰錛屽競闈笂甯歌鐨勫緢澶氳蔣鍘嬬緝DVR鍗℃槸鍥藉鏃╂湡浜у搧錛屽畠浠噰鐢ㄧ殑鏄皬娉㈢畻娉曠敋鑷矼JPEG錛屾秷鑰楃‖鐩樺ぇ錛岀綉緇滄ц兘宸紝浣嗘渶榪戞柊鎺ㄥ嚭杞帇緙〥VR鍗″ぇ澶氭槸閲囩敤MPEG-4鎴栬?H.264綆楁硶錛屾瘡璺瘡灝忔椂鍗犵‖鐩?0-150M銆?/font>
3錛夌‖浠舵垚鏈?/font>
鍦ㄦ澘鍗℃垚鏈笌浠鋒牸鏂歸潰錛岃蔣鍘嬬緝鍗℃湁鏄庢樉浼樺娍錛岃蔣鍘嬬緝鍗′環鏍間竴鑸彧鏈夌‖鍘嬬緝鍗$殑1/4~1/3銆?/font>
4錛夊浘璞¤川閲?/font>
鍦ㄥ浘璞¤川閲忔柟闈紝涓昏鍐沖畾瑙嗛閲囬泦鑺墖銆佺數璺姉韜併佸垎杈ㄧ巼涓庡帇緙╃畻娉曪紝鍏朵腑鍘嬬緝綆楁硶銆佸帇緙╂瘮鍐沖畾鍥炴斁DVR褰曡薄鐨勭敾璐紝甯傞潰涓婇攢鍞殑涓浜涚洍鐗圞odicom涓嶱ico絳夊浗澶栨棭鏈熻蔣鍘嬬緝鍗★紝鐢變簬閲囩敤8姣旂壒鐨凢USION878A 浣滆棰戦噰闆嗚姱鐗囷紝鍥捐薄璐ㄩ噺涓嶅閲囩敤PHILIPS鑺墖鐨勭‖鍘嬬緝鍗★紝浣嗚蔣鍘嬬緝涔熸湁閲囩敤PHILIPS7130銆?134鑺墖錛屽Ether 9404 DVR鍗★紝榪欑鍗$殑棰勮鐢昏川涓庣‖鍘嬬緝鍗″熀鏈竴鏍鳳紝浣嗗綍璞$敾璐ㄨ秴榪囬氬父鐨勭‖鍘嬬緝鍗°?/font>
5錛夌綉緇滄ц兘
鍦ㄧ綉緇滄柟闈紝杞帇緙╁ぇ澶氬仛寰楁瘮紜帇緙╁崱鏇村ソ錛屼篃璁告槸鍥犱負寮鍙戣蔣鍘嬬緝DVR鍘傚鐮斿彂瀹炲姏鏇村己澶у惂錛屼絾緗戠粶鎬ц兘紜疄涓庤蔣鍘嬬緝鎴栫‖鍘嬬緝鏃犲叧錛岀綉緇滄ц兘濂藉潖涓庡帇緙╃畻娉曟湁鍏籌紝鍏堣繘鐨勫帇緙╃畻娉曠敱浜庡帇緙╂瘮澶э紝鏁版嵁嫻侀噺灝忥紝瀵瑰甫瀹借姹備綆錛岀綉緇滄ц兘鍒欐洿濂姐?/font>

銆銆鍥?
銆銆鍥?涓湁涓や釜鎸夐挳錛屼竴涓槸“杈撳叆絳涢夊櫒”錛堟寚瀵規鏈嶅姟鍣ㄦ帴鍙楃殑鏁版嵁鍖呰繘琛岀瓫閫夛級錛屽彟涓涓槸“杈撳嚭絳涢夊櫒”錛堟寚瀵規鏈嶅姟鍣ㄥ彂閫佺殑鏁版嵁鍖呰繘琛岀瓫閫夛級錛岃繖閲屽簲璇ョ偣鍑籟杈撳叆絳涢夊櫒] 鎸夐挳錛屼細寮瑰嚭涓涓?#8220;娣誨姞絳涢夊櫒”紿楀彛錛屽啀鐐瑰嚮[娣誨姞]鎸夐挳錛岃〃紺鴻澧炲姞涓涓瓫閫夋潯浠躲?br />
銆銆鍦?#8220;鍗忚”鍙寵竟鐨勪笅鎷夊垪琛ㄤ腑閫夋嫨“ICMP”錛屽湪闅忓悗鍑虹幇鐨?#8220;ICMP綾誨瀷”鍜?#8220;ICMP緙栫爜”涓潎杈撳叆“255”錛屼唬琛ㄦ墍鏈夌殑ICMP綾誨瀷鍙婂叾緙栫爜銆侷CMP鏈夎澶氫笉鍚岀殑綾誨瀷錛圥ing灝辨槸涓縐嶇被鍨嬶級錛屾瘡縐嶇被鍨嬩篃鏈夎澶氫笉鍚岀殑鐘舵侊紝鐢ㄤ笉鍚岀殑“緙栫爜”鏉ヨ〃紺恒傚洜涓哄叾綾誨瀷鍜岀紪鐮佸緢澶嶆潅錛岃繖閲屼笉鍐嶅彊榪般?br />
銆銆鐐瑰嚮[紜畾]鎸夐挳榪斿洖“杈撳叆絳涢夊櫒”紿楀彛錛屾鏃朵細鍙戠幇“絳涢夊櫒”鍒楄〃涓浜嗕竴欏瑰唴瀹癸紙濡傚浘2鎵紺猴級銆傜偣鍑籟紜畾]鎸夐挳榪斿洖“鏈湴榪炴帴”紿楀彛錛屽啀鐐瑰嚮[紜畾]鎸夐挳錛屾鏃剁瓫閫夊櫒灝辯敓鏁堜簡錛屼粠鍏朵粬璁$畻鏈轟笂Ping榪欏彴涓繪満灝變笉浼氭垚鍔熶簡銆?br />

銆銆鍥?
銆銆2錛?鐢ㄩ槻鐏璁劇疆ICMP榪囨護
銆銆鐜板湪璁稿闃茬伀澧欏湪榛樿鎯呭喌涓嬮兘鍚敤浜咺CMP榪囨護鐨勫姛鑳姐傚鏋滄病鏈夊惎鐢紝鍙閫変腑“闃插盡ICMP鏀誨嚮”銆?#8220;闃叉鍒漢鐢╬ing鍛戒護鎺㈡祴”灝卞彲浠ヤ簡錛屽鍥?鎵紺恒?br />

銆銆鍥?
銆銆閫氳繃浠ヤ笂璁茶В錛屼綘鐜板湪鐭ラ亾ICMP鐨勯噸瑕佹т簡鍚э紵璧剁揣緇欎綘鐨勬湇鍔″櫒璁劇疆ICMP榪囨護鍚с?br />
ICMP鍗忚錛岃嫳鏂囧叏縐幫紙Internet Control Message Protocol錛夛紝灝辨槸緗戦檯鎺у埗淇℃伅鍗忚銆備富瑕佹槸鐢ㄤ簬琛ュ厖IP浼犺緭鏁版嵁鎶ョ殑榪囩▼涓紝鍙戦佷富鏈烘棤娉曠‘瀹氭暟鎹姤鏄惁鍒拌揪鐩爣涓繪満銆侷CMP鎶ユ枃鍒嗕負鍑洪敊鎶ュ憡鎶ユ枃鍜屾煡璇㈡姤鏂囦袱縐嶃傝嫢鏁版嵁鎶ヤ笉鑳藉埌杈劇洰鏍囦富鏈猴紝ICMP鍑洪敊鎶ュ憡鎶ユ枃鍙互浠ュ洖閫佷俊鎭殑鏂瑰紡錛屽悜婧愪富鏈哄彂鍘諱俊鎭紝騫朵笉鑳界籂姝f暟鎹姤涓殑浠諱綍鍑洪敊銆傞櫎浜嗗嚭閿欐姤鍛婏紝ICMP榪樺彲浠ヨ瘖鏂嚭鏌愪簺緗戠粶闂錛岃繖灝辨槸ICMP鐨勬煡璇㈡姤鏂囥?/p>
IGMP鍗忚錛岃嫳鏂囧叏縐幫紙Internet Group Management Protocol錛夛紝緗戠粶緇勭鐞嗗崗璁備富瑕佺敤浜庡緩绔嬪拰綆$悊澶氭挱緇勶紝瀵笽P鍒嗙粍騫挎挱榪涜鎺у埗銆?/p>
internet鎺у埗娑堟伅鍗忚ICMP鏄敤浜庢姤鍛婇敊璇茍浠h〃IP瀵規秷鎭繘琛屾帶鍒躲?
IP榪愮敤浜掕仈緇勭鐞嗗崗璁甀GMP鏉ュ憡璇夎礬鐢卞櫒錛屾煇涓緗戠粶涓婃寚瀵肩粍涓殑鍙敤涓繪満銆?
ICMP
ICMP婧愭姂鍒舵秷鎭細褰揟CP/IP涓繪満鍙戦佹暟鎹埌鍙︿竴涓繪満鏃訛紝濡傛灉閫熷害杈懼埌璺敱鍣ㄦ垨鑰呴摼璺殑楗卞拰鐘舵侊紝璺敱鍣ㄥ彂鍑轟竴涓狪CMP婧愭姂鍒舵秷鎭?
ICMP鏁版嵁鍖呯粨鏋?
綾誨瀷錛氫竴涓?浣嶇被鍨嬪瓧孌碉紝琛ㄧずICMP鏁版嵁鍖呯被鍨嬨?
浠g爜錛氫竴涓?浣嶄唬鐮佸煙錛岃〃紺烘寚瀹氱被鍨嬩腑鐨勪竴涓姛鑳姐傚鏋滀竴涓被鍨嬩腑鍙湁涓縐嶅姛鑳斤紝浠g爜鍩熺疆涓?銆?
媯楠屽拰錛氭暟鎹寘涓璉CMP閮ㄥ垎涓婄殑涓涓?6浣嶆楠屽拰銆?
鎸囧畾綾誨瀷鐨勬暟鎹殢姣忎釜ICMP綾誨瀷鍙樺寲鐨勪竴涓檮鍔犳暟鎹?
IGMP
IGMP淇℃伅浼犵粰鍒殑璺敱鍣ㄤ互浣挎瘡涓敮鎸佸璺箍鎾殑璺敱鍣ㄨ幏鐭ュ摢涓富鏈虹粍鍜屽摢涓綉緇滀腑銆?
IGMP鍖呯粨鏋?
鐗堟湰錛欼GMP鐨勭増鏈紝鍊間竴鑸負0x1h銆?
綾誨瀷錛欼GMP娑堟伅鐨勭被鍨嬨?x1h綾誨瀷縐頒負涓繪満鎴愬憳璇鋒眰錛屽湪澶氳礬騫挎挱璺敱鍣ㄤ笂鐢ㄤ簬鎸囧畾澶氱駭緇勪腑鐨勪換浣曟垚鍛樿疆璇竴涓綉緇溿?x2h綾誨瀷縐頒負涓繪満鎴愬憳鎶ュ憡錛屽湪涓繪満涓婄敤浜庡彂甯冩寚瀹氱粍涓殑鎴愬憳鎯呭喌鎴栧涓涓礬鐢卞櫒鐨勪富鏈烘垚鍛樿姹傝繘琛屽洖絳斻?
鏈敤錛氭湭鐢ㄧ殑鍩熷悕琚彂閫佽呯疆闆朵笖琚帴鏀惰呭拷鐣ャ?
媯楠屽拰錛欼GMP澶寸殑涓涓?6浣嶆楠屽拰銆?
緇勫湴鍧錛氫富鏈虹敤璇ョ粍鍦板潃鍦ㄤ竴涓富鏈烘垚鍛樿姹備腑瀛樺偍IP澶氳礬騫挎挱鍦板潃銆傚湪涓繪満鎴愬憳璇鋒眰涓紝緇勫湴鍧琚叏緗浂錛岃屼笖紜歡綰х殑澶氳礬騫挎挱鍦板潃琚敤鏉ユ爣紺轟富鏈虹粍銆?br>
LSB鍜孧SB璋佷綅浜庡唴瀛樼殑鏈浣庡湴鍧錛?鍗寵皝浠h〃璇ュ璞$殑鍦板潃?
榪欏氨寮曞嚭浜嗗ぇ绔?Big Endian)涓庡皬绔?Little Endian)鐨勯棶棰樸?br>濡傛灉LSB鍦∕SB鍓嶉潰錛?鏃SB鏄綆鍦板潃錛?鍒欒鏈哄櫒鏄皬绔? 鍙嶄箣鍒欐槸澶х銆?br>DEC (Digital Equipment Corporation錛岀幇鍦ㄦ槸Compaq鍏徃鐨勪竴閮ㄥ垎)鍜孖ntel鐨勬満鍣紙X86騫沖彴錛変竴鑸噰鐢ㄥ皬绔?br>IBM錛?Motorola(Power PC)錛?Sun鐨勬満鍣ㄤ竴鑸噰鐢ㄥぇ绔?br>褰撶劧錛岃繖涓嶄唬琛ㄦ墍鏈夋儏鍐點傛湁鐨凜PU鍗寵兘宸ヤ綔浜庡皬绔紝 鍙堣兘宸ヤ綔浜庡ぇ绔紝 姣斿ARM錛?Alpha錛屾懇鎵樼綏鎷夌殑PowerPC銆?鍏蜂綋鎯呭艦鍙傝冨鐞嗗櫒鎵嬪唽銆?/strong>
鍏蜂綋榪欑被CPU鏄ぇ绔繕鏄皬绔紝搴旇鍜屽叿浣撹緗湁鍏熾?br>錛堝錛孭ower PC鏀寔little-endian瀛楄妭搴忥紝浣嗗湪榛樿閰嶇疆鏃舵槸big-endian瀛楄妭搴忥級
涓鑸潵璇達紝澶ч儴鍒嗙敤鎴風殑鎿嶄綔緋葷粺錛堝windows, FreeBsd,Linux錛夋槸Little Endian鐨勩傚皯閮ㄥ垎錛屽MAC OS ,鏄疊ig Endian 鐨勩?br>鎵浠ヨ錛孡ittle Endian榪樻槸Big Endian涓庢搷浣滅郴緇熷拰鑺墖綾誨瀷閮芥湁鍏崇郴銆?/p>
Linux緋葷粺涓紝浣犲彲浠ュ湪/usr/include/涓紙鍖呮嫭瀛愮洰褰曪級鏌ユ壘瀛楃涓睟YTE_ORDER(鎴?br>_BYTE_ORDER, __BYTE_ORDER)錛岀‘瀹氬叾鍊箋侭YTE_ORDER涓枃縐頒負瀛楄妭搴忋傝繖涓間竴鑸湪endian.h鎴杕achine/endian.h鏂囦歡涓彲浠ユ壘鍒?鏈夋椂鍦╢eature.h涓紝涓嶅悓鐨勬搷浣滅郴緇熷彲鑳芥湁鎵涓嶅悓銆?/p>
瀵逛簬涓涓暟0x1122
浣跨敤Little Endian鏂瑰紡鏃訛紝浣庡瓧鑺傚瓨鍌?x22錛岄珮瀛楄妭瀛樺偍0x11
鑰屼嬌鐢˙ig Endian鏂瑰紡鏃? 浣庡瓧鑺傚瓨鍌?x11, 楂樺瓧鑺傚瓨鍌?x22
緇忎竴緗戝弸鎸囨,鎵嶇煡閬?涓婇潰鐨勬弿榪?鏄笉鍑嗙‘鐨?
鎯充簡涓?瑙夊緱濡備笅鎻忚堪鍙兘鏇村悎閫?
浣跨敤Little Endian鏂瑰紡瀛樺偍鏁版嵁鏃?鏁版嵁鐨凩SB鐩稿鏈娌℃剰涔夌殑鏁版嵁浣?瀛樻斁鍦ㄤ綆鍦板潃浣嶇疆,榪欓噷鐨凩SB涔熷氨鏄?2浜?涔熷嵆,
浣庡湴鍧瀛樺偍0x22, 楂樺湴鍧瀛樺偍0x11
鑰屼嬌鐢˙ig Endian鏂瑰紡瀛樺偍鏁版嵁鏃?鏁版嵁鐨凪SB鏈鏈夋剰涔夌殑鏁版嵁浣?瀛樻斁鍦ㄤ綆鍦板潃浣嶇疆,榪欓噷鐨凪SB涔熷氨鏄?1浜?涔熷嵆
浣庡湴鍧瀛樺偍0x11, 楂樺湴鍧瀛樺偍0x22
鍔╄:
1)鎵璋揗SB (Most Significant Byte),鍚嶅瓧寰堝鏉?涓嶇煡鏄惁鏈変漢娌℃悶鎳?鍙嶆鎴戝紑濮嬬湅鍒拌繖涓瘝鏃跺?灝卞緢緋婃秱,鏈夌偣涓嶅畬鍏ㄧ悊瑙?鍏跺疄綆鍗曡MSB灝辨槸,涓涓暟瀛椾腑,鏈閲嶈鐨勯偅浣?
涓句緥鏉ヨ,12004,涓枃璇諱綔,涓涓囦袱鍗冮浂鍥?閭f渶楂樹綅鐨?,灝辮〃紺轟簡涓涓?姝ゅ灝辯О浣淢SB,鏈鏈夋剰涔夌殑浣?
2)涓鑸父瑙佺殑鏁版嵁瀛樺偍,鐢ㄦ枃瀛楀啓鍑烘潵鐨勬椂鍊?鍏跺唴瀹逛功鍐欐牸寮?澶氭暟鏄粠浣庡湴鍧鍒伴珮鍦板潃.
涓句緥,涓涓?6榪涘埗鏁版槸 0x11 22 33, 鑰屽瓨鏀劇殑浣嶇疆鏄?/p>
鍦板潃0x3000 涓瓨鏀?1
鍦板潃0x3001 涓瓨鏀?2
鍦板潃0x3002 涓瓨鏀?3
榪炶搗鏉ュ氨鍐欐垚鍦板潃0x3000-0x3002涓瓨鏀句簡鏁版嵁0x112233.
鑰岃繖縐嶅瓨鏀懼拰琛ㄧず鏂瑰紡,姝eソ絎﹀悎澶х.
瑙i噴鐨勬湁鐐逛貢,甯屾湜鏈変漢鑳界湅鎳?
濡傛灉榪樻湁鍝噷鏈夎,榪樿鍚勪綅緇х畫鎸囨.璋㈣阿.
銆愮敤鍑芥暟鍒ゆ柇緋葷粺鏄疊ig Endian榪樻槸Little Endian銆?br>bool IsBig_Endian()
//濡傛灉瀛楄妭搴忎負big-endian錛岃繑鍥瀟rue;
//鍙嶄箣涓?nbsp; little-endian錛岃繑鍥瀎alse
{
unsigned short test = 0x1122;
if(*( (unsigned char*) &test ) == 0x11)
return TRUE;
else
return FALSE;
}//IsBig_Endian()