Javascript + 警告来自 cookie 的加密字符串时字符被删除

Javascript + characters get removed when alerting encrypted string from cookie

我在 cookie 中有一个加密字符串,该字符串已使用 CryptoJS 加密。当我用一个叫做CookiesManager 的工具查看cookie 时,cookie 是正常的。但是当我从 cookie 中提醒它时,所有 + 字符都已被删除。我正在使用一个名为 jQuery Cookie 的 jQuery 插件。我尝试将编码设置为 UTF-8,但 + 字符仍被删除。 代码(Js):

<script type="text/javascript" charset="UTF-8">
var host = $.cookie("encrHost");
alert("Host: " + host);
</script>

收到警报的内容:

Host: U2FsdGVkX18vi2P/aWBEA4AzwE4 oMDFP2 tucKLyKk=

Cookie 管理器屏幕截图:

这是因为默认情况下,cookie 是 url 编码的,如插件主页所述:

By default the cookie value is encoded/decoded when writing/reading, using encodeURIComponent/decodeURIComponent. Bypass this by setting raw to true:

$.cookie.raw = true;

所以只需在调用之前添加 $.cookie.raw = true 就可以了。