Encoding js cookie编码的值与php setcookie编码的值不同

Encoding js cookie编码的值与php setcookie编码的值不同,encoding,setcookie,js-cookie,Encoding,Setcookie,Js Cookie,当我用这个创建cookie时 这是我的crypt变量内容 s192aBszcV7NPrR8KpQbl4u/hkOOmMBzPg2mAhGlZB1/nAcus=0 然后使用js cookie设置cookie Cookies.set('_siteauth',crypt, { expires: 1, path: '/' }); 这是js设置cookie值 s192aBszcV7NPrR8KpQbl4u/hkOOmMBzPg2mAhGlZB1/nAcus=0 因此,如果我使用php s

当我用这个创建cookie时

这是我的crypt变量内容

s192aBszcV7NPrR8KpQbl4u/hkOOmMBzPg2mAhGlZB1/nAcus=0


然后使用
js cookie
设置cookie

Cookies.set('_siteauth',crypt, {
   expires: 1,
   path: '/'
});
这是js设置cookie值

s192aBszcV7NPrR8KpQbl4u/hkOOmMBzPg2mAhGlZB1/nAcus=0


因此,如果我使用php setcookie设置相同的var

setcookie('_siteauth', $crypt, time() + 86400, '/');
cookie的值如下

s192aBszcV7NPrR8KpQbl4u%2FhkOOmMBzPg2mAhGlZB1%2FnAcus%3D
我希望cookie值应该是这样的。编码的


但是
js cookie
关于编码的文档说明了这一点,我很惊讶set js cookie的值根本没有被编码

有人能解释一下吗,或者我在
js cookie
插件中遗漏了什么吗?

正如上面所说:

这个项目是合规的。cookie名称或cookie值中不允许的所有特殊字符都使用每个字符的UTF-8十六进制等效值进行编码

[……]

请注意,默认编码/解码策略意味着可互操作。要覆盖默认的编码/解码策略,您需要使用

(我的重点。)

根据,cookie值可以包含集合
!#$%&'中的任何字符()*+-./:?@[]^{{124;}
以及数字(
0-9
)和字母(
a-zA-Z

请注意,
/
=
都是cookie值中的有效字符

此外,未指定编码或转义机制:

本文档未定义cookie值的语义

为了最大限度地与用户代理、希望 将任意数据存储在cookie中,例如,值应该对该数据进行编码 例如,使用Base64[]

对cookie值使用百分比编码是不标准的。不同的库为cookie值提供不同的编码方案也就不足为奇了。特别是,JSCookie的设计不是为了与任何编码方案兼容,而是为了与自己的编码方案兼容