【发布时间】:2016-08-02 08:18:03
【问题描述】:
我正在尝试通过RequireJs在js文件请求中加入水印:
requirejs.config({
baseUrl: '/app',
urlArgs: [98, 121, 65, 68, 77].map(String.fromCharCode).join('')+'&v=1.0.0'
});
由于某些原因我不能直接输入byADM,所以我写了上面的代码。
我的问题是加入字符后,它在网址中显示b%00%00y%01%00A%02%00D%03%00M%04%00&v=1.0.0 而不是byADM&v=1.0.0。它看起来像 '' 转换为 %00。
我该怎么做才能解决这个问题?
字符串库或其他东西中是否有任何真正的空字符?
【问题讨论】:
-
在控制台中测试了你的代码,工作正常。当您只是
map,join,+时,您会得到正确的结果吗? -
@Georgy 是的,在控制台中没问题,但我说我的问题是当这个字符串进入 url 时。
-
@Georgy:它看起来很好,因为您在使用 console.log 时看不到那些字符/字节值。首先应用 encodeURIComponent,你会看到它们出现。
-
您的代码正在被转义。
unescape('b%00%00y%01%00A%02%00D%03%00M%04%00&v=1.0.0')将正确返回 `byADM&v=1.0.0
标签: javascript arrays string ascii