【发布时间】:2015-02-18 22:23:28
【问题描述】:
我有一个带有以下键的对象:
*_data
但是,字符以非标准格式编码,导致我的代码出现一些问题。
我将key的值保存到cookie中,发现如下:
%00*%00_data
但是,当将此字符串(使用== 而不是===)与键的值进行比较时,它们并不相等。
目前我将键的值存储到一个变量中,并使用该变量作为键。但是,我非常好奇我可以将实际密钥与哪个字符串进行比较会导致结果为真。
对于这个谜团的任何帮助将不胜感激。
【问题讨论】:
-
看来key是用encodeURIComponent存储的,所以用
decodeURIComponent解码,例如console.log(decodeURIComponent('%00*%00_data'))显示“*_data”。 -
太棒了。我使用了
if (key == decodeURIComponent('%00*%00_data')),它返回了 true!谢谢!请标记为信用答案。 -
另外,
===也返回了 true。 -
两个值都是字符串,所以无论你使用
===还是==都没有区别。 -
不,从来没有那种感觉……尤里卡? ;-)
标签: javascript text unicode utf-8