尝试了一下,用以下的编码解码方式,输出来后,最后一位不见了,请问是什么原因?str内容是中文和英文混合的,测试时最后一位是英文
//编码程式:
function CodeCookie(str)
{
var strRtn=""; for (var i=str.length-1;i>=0;i--)
{
strRtn+=str.charCodeAt(i);
if (i) strRtn+="a"; //用a作分隔符
}
return strRtn;
} //解码程式:
function DecodeCookie(str)
{
var strArr;
var strRtn=""; strArr=str.split("a"); for (var i=strArr.length-1;i>=0;i--)
strRtn+=String.fromCharCode(eval(strArr[i])); return strRtn;
}
//编码程式:
function CodeCookie(str)
{
var strRtn=""; for (var i=str.length-1;i>=0;i--)
{
strRtn+=str.charCodeAt(i);
if (i) strRtn+="a"; //用a作分隔符
}
return strRtn;
} //解码程式:
function DecodeCookie(str)
{
var strArr;
var strRtn=""; strArr=str.split("a"); for (var i=strArr.length-1;i>=0;i--)
strRtn+=String.fromCharCode(eval(strArr[i])); return strRtn;
}
for (var i=str.length-1;i>=0;i--)
{
strRtn+=str.charCodeAt(i);
if (i) ary.push(strRtn); //用a作分隔符 ,最样最好当然是英文的a了
}
return ary.join('a');
var a= 'aa啊a啊b';
DecodeCookie(CodeCookie(a));
没问题,b没有丢失。