用戶端Cookie中文編程(下)

來源:互聯網
上載者:User
cookie|編程|用戶端|中文    例如你要寫入的Cookie內容是"一頂abc",經過CodeCookie變為"99a98a97a-31029a26432a"(基於安全考慮,將字串反轉),再經過escape編碼後變為"99a98a97a%2D31029a26432a"(escape編碼將除字母和數字以外的字元轉換為十六進位%XX的形式),注意分隔字元不能選%,D和數字。當然,如果有類似密碼的重要訊息,還需要在加密上再強化一下。因為寫入Cookie的一般都是簡訊息,編碼後增加的一些位元組可忽略不計。下面的JavaScript讀寫Cookie函數中就加入了以上的中文支援。

function SetCookie(name,value,expires)
{
 var exp=new Date();
 exp.setTime(exp.getTime()+expires*60*1000);
 document.cookie=name+"="+escape(CodeCookie(value))+" ; expires="+exp.toGMTString()+" ; path=/";
}

function GetCookie (name)
{
 var strArg=name+"=";
 var nArgLen=strArg.length;
 var nCookieLen=document.cookie.length;
 var nEnd;
 var i=0;
 var j;

while (i$#@60;nCookieLen)
{
 j=i+nArgLen;
 if (document.cookie.substring(i,j)==strArg)
{
 nEnd=document.cookie.indexOf (";",j);
 if (nEnd==-1) nEnd=document.cookie.length;
 return DecodeCookie(unescape(document.cookie.substring(j,nEnd)));
}
 i=document.cookie.indexOf(" ",i)+1;
 if (i==0) break;
}
 return null;
}


  如果用CGI程式寫入中文Cookie,用戶端讀取。如在ASP裡,可以先使用前述的編碼函數後,再用response寫入,例如:response.cookies("Name")=CodeCookie("張三")至此,中文Cookie的問題基本解決。



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。