Warm tip: This article is reproduced from serverfault.com, please click

javascript-Unicode字符无法解码

(javascript - Unicode characters cannot be decoded)

发布于 2020-11-29 11:48:49

我使用browserless.js(无头Chrome)来获取网站的html代码,然后使用正则表达式来查找某些图像URL。

下面是一个示例:

https://vignette.wikia.nocookie.net/moviepedia/images/8/88/Adrien_Brody.jpg/revision/latest/top-crop/width/360/height/450?cb\u003d20141113231800\u0026path-prefix\u003dde

有Unicode字符,例如\u003d,应将其解码(在本例中为=)。原因是我想将这些图像包含在站点中,并且不进行解码就无法显示其中的某些图像(就像上面的图像一样,只需粘贴URL;它会给出broken-image.webp)。

我已经尝试了很多东西,但是没有任何效果。

  • JSON.parse(JSON.stringify(...))
  • String.prototype.normalize()
  • decodeURIComponent

奇怪的是,“ \ u003d”的正则表达式(即js中的“ \\ u003d”)与上面的字符串不匹配,而“ u003d”则与之匹配。

这一切都很奇怪,我目前的猜测是,无浏览器是幕后某些奇怪格式的原因。即,当我通过控制台登录URL并将其复制粘贴到其他位置时,上述每种方法都可用于解码。

我希望有人可以帮助我。

Questioner
Martin Brandenburg
Viewed
0
community wiki 2021-03-11 15:59:40

只是将其标记为已回答。托马斯回答:

JSON.parse(`"${url}"`)