Декодирование строк в Scala: URL, Base64, HTML, JSON и шестнадцатеричный код.

В Scala существует несколько методов декодирования строки. Конкретный метод, который вы выберете, будет зависеть от кодировки, используемой для строки. Вот некоторые распространенные методы с примерами кода:

  1. Декодирование строки в кодировке URL:

    import java.net.URLDecoder
    val encodedString = "Hello%20World%21"
    val decodedString = URLDecoder.decode(encodedString, "UTF-8")
    println(decodedString)  // Output: Hello World!
  2. Декодирование строки в кодировке Base64:

    import java.util.Base64
    val encodedString = "SGVsbG8gV29ybGQh"
    val decodedBytes = Base64.getDecoder.decode(encodedString)
    val decodedString = new String(decodedBytes)
    println(decodedString)  // Output: Hello World!
  3. Декодирование строки в формате HTML:

    import org.apache.commons.text.StringEscapeUtils
    val encodedString = "Hello & World!"
    val decodedString = StringEscapeUtils.unescapeHtml4(encodedString)
    println(decodedString)  // Output: Hello & World!
  4. Декодирование строки в формате JSON:

    import org.json4s._
    import org.json4s.jackson.JsonMethods._
    val encodedString = "{\"name\":\"John\",\"age\":30}"
    val json = parse(encodedString)
    val decodedString = compact(render(json))
    println(decodedString)  // Output: {"name":"John","age":30}
  5. Декодирование строки в шестнадцатеричном формате:

    val encodedString = "48656c6c6f20576f726c6421"
    val decodedString = encodedString.sliding(2, 2).toArray.map(Integer.parseInt(_, 16).toChar).mkString
    println(decodedString)  // Output: Hello World!