ºº×Ö±ê×¼½»»»Âë¹²·ÖÁ½¼¶¡£µÚÒ»¼¶Îª³£ÓÃ×Ö£¬ÓÐ3755×Ö£¬°´ººÓïÆ´Òô×Öĸ˳ÐòÅÅÁУ¬µÚ¶þ¼¶Îª´Î³£ÓÃ×Ö£¬ÓÐ3008×Ö£¬°´²¿Ê×ÅÅÁС£GB2312µÄ±àÂ뷶ΧΪ2121H-777EH.
UNICODE ÊÇÁ½×Ö½ÚµÄÈ«±àÂ룬¶ÔÓÚASCII×Ö·ûËüҲʹÓÃÁ½×Ö½Ú±íʾ¡£´úÂëÒ³ÊÇͨ¹ý¸ß×Ö½ÚµÄȡֵ·¶Î§À´È·¶¨ÊÇASCII×Ö·û£¬»¹ÊǺº×ֵĸß×Ö½Ú¡£Èç¹û·¢ÉúÊý¾ÝË𻵣¬ ij´¦ÄÚÈÝÆÆ»µ£¬Ôò»áÒýÆðÆäºóºº×ֵĻìÂÒ¡£UNICODEÔòÒ»ÂÉʹÓÃÁ½¸ö×Ö½Ú±íʾһ¸ö×Ö·û£¬×îÃ÷ÏԵĺô¦ÊÇËü¼ò»¯Á˺º×ֵĴ¦Àí¹ý³Ì¡£
¹ØÓÚ±àÂëµÄÎÄÕ¿ÉÒԲο¼£º
°Ù¶ÈµÄÒ³ÃæÊÇgb2312µÄ£¬URL±àÂë×ÔȻҲÊÇ´Ógbת»»¶øÀ´£¬±ÈÈç¡°Ò»¡±Õâ¸ö×Ö£¬°Ù¶Èת»»µÄ½á¹ûÊÇD2%BB£¬¶ø´ÓUtf-8ת»»À´µÄ½á¹ûÊÇ%E4%B8%80±ÈÈçgoogle£¨gbÊÇ2×Ö½Ú±àÂ룬utf-8ÊÇ3×ֽڱ䳤±àÂ룩
¿ÉÒÔÓÃjavascriptµÄencodeURIºÍdecodeURIÀ´µÃµ½ÕâЩ½á¹û£¬ÉèÖÃÒ³Ãæ±àÂë¾Í¿ÉÒÔ¿´µ½²»Í¬½á¹ûÁË¡£
ÔÚÍøÉÏÕÒ£¬Ò²Ã»ÕÒµ½ÏֳɵÄת»»³ÌÐò£¬Ö»µÃ×Ô¼ºÐ´¡£»¹ºÃÍøÉϲ»È±gb-utfµÄ¶ÔÕÕ±í£¬ÐÞ¸ÄÁËһϾͿÉÒÔÓÃÁË:gb-utf.txt
Õâ¸ö¶ÔÕÕ±íÊǽ«gb×Ö½Ú±àÂëתµ½utfµÄ16½øÖƱàÂ룬¶ø²»ÊÇ×Ö½Ú±àÂë¡£
javascriptÖÐescapeºÍunescapeÊÇת»»16½øÖƱàÂëÓõģ¬Òò´Ëgbºº×Öµ½utfºº×ÖµÄת»»Ë¼Â·ÊÇ£ºencodeURI("gbºº×Ö")£¬µ½¶ÔÕÕ±íÖвéÕÒutfµÄ16½øÖƱàÂ룬unescape("16½øÖÆutf±àÂë")£¬µÃµ½utfºº×Ö¡£
ÖмäÄÇÒ»²½×î¹Ø¼ü£¬ÎÒµÄת»»Ö»Óõ½ÁËÕâÒ»²½£¬ÆäËûÁ½²½Ö±½Óµ÷ÓÃÄÇÁ½¸öº¯Êý¾Í¿ÉÒÔÁË¡£ÏÂÃæÊÇת»»³ÌÐò£º
function genCodeStr(){
var codeRE = new RegExp("'(.*)' : '(.*)'","gi");
var tempStr,codeStr = "";
var myReader = new Reader();
myReader.loadFile('inc/gb2312_utf.txt');//ÕâÀï¸Ä³ÉÄãµÄ¶ÔÕÕ±í´æ·ÅµÄ·¾¶
while(!myReader.fStream.atEndofLine) {
tempStr = new String(myReader.fStream.readLine());
codeStr += tempStr.replace(codeRE,"$1") + ":" + tempStr.replace(codeRE,"$2") + ":";
}
Application("codeData") = codeStr;
}
function getCodeStr(){
var codeStr = new String(Application("codeData"));
if(codeStr.indexOf("%a1%a1") == -1){
genCodeStr();
}
return new String(Application("codeData"));
}
function gb2utf(gbStr){
var codeStr = getCodeStr();
var codeRE = new RegExp("(%..%..)","gi");
var replaceRE = new RegExp("(%..%..)","i");
var gbCode;
var utfCode;
var gbStart;
while((codeRE.lastIndex < gbStr.length) && replaceRE.test(gbStr)){
codeRE.exec(gbStr);
gbCode = new String(RegExp.$1);
gbStart = new Number(codeStr.indexOf(gbCode.toLowerCase()));
var utfStart = 0;
if(gbStart != -1){
utfStart= gbStart + 7;
utfCode = codeStr.substring(utfStart,utfStart + 6);
}else{
utfCode = "%u3000";
}
gbStr = gbStr.replace(replaceRE,utfCode);
}
return gbStr;
}
function Reader() { //Class Reader()
this.fso; //Private fso
this.fUri; //Private fUri
this.fStream; //Private fStream
try{
this.fso = new ActiveXObject("Scripting.FileSystemObject");
}catch(exception) {
throw exception;
}
this.loadFile = function(file) { //Public loadFile(file)
this.fUri = Server.mappath(file);
//var fStream = fso.CreateTextFile(tfolder,true,false);
//fStream.WriteLine('test');
if(this.fso.fileExists(this.fUri)){
this.fStream = this.fso.openTextFile(this.fUri);
}else{
Response.write('file dos not exist');
}
}
this.readLineN = function(num) {
var i = 1;
while(i < num && !this.fStream.atEndOfLine) {
this.fStream.skipLine();
i++
}
return this.fStream.readLine();
}
this.closeFile = function() {
fStream.Close();
fso.Close;
}
}
¶ÔÕÕ±í¾ÍÊÇgb-utf.txtÁË£¬Äã×Ô¼º¸Äһ϶Áȡ·¾¶¼´¿É¡£
»¹ÐèҪעÒâµÄÊÇ£¬ÉÏÃæµÄ³ÌÐòÊÇÐèÒªÔÚ·þÎñÆ÷¶ËÔËÐеģ¬ÒòÎªÉæ¼°µ½Îļþ²Ù×÷¡£