使用Java/Scala从抓取的JavaScript文本解码unicode字符表示



我正在使用网络爬虫(用Scala编写)从各种网站获取一些内容,我必须从JavaScript片段解码unicode符号

Capitali%20d%u2019Europa

必须解码为

Capitali d’Europa

但是我找不到合适的工具。

您可以使用正则表达式。

def unicodeDecode(str: String): String = {
  val parts = """%ud{4}|%dd|[^%]+""".r.findAllIn(str).map(s =>
    if(s.startsWith("%")) {
      Integer.parseInt(
        (if(s.startsWith("%u")) s.substring(2, s.size)
         else s.substring(1)), 16).toChar.toString
  } else s)
  parts.mkString
}

最新更新