В Scala существует несколько методов декодирования строки. Конкретный метод, который вы выберете, будет зависеть от кодировки, используемой для строки. Вот некоторые распространенные методы с примерами кода:
-
Декодирование строки в кодировке URL:
import java.net.URLDecoder val encodedString = "Hello%20World%21" val decodedString = URLDecoder.decode(encodedString, "UTF-8") println(decodedString) // Output: Hello World! -
Декодирование строки в кодировке Base64:
import java.util.Base64 val encodedString = "SGVsbG8gV29ybGQh" val decodedBytes = Base64.getDecoder.decode(encodedString) val decodedString = new String(decodedBytes) println(decodedString) // Output: Hello World! -
Декодирование строки в формате HTML:
import org.apache.commons.text.StringEscapeUtils val encodedString = "Hello & World!" val decodedString = StringEscapeUtils.unescapeHtml4(encodedString) println(decodedString) // Output: Hello & World! -
Декодирование строки в формате 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} -
Декодирование строки в шестнадцатеричном формате:
val encodedString = "48656c6c6f20576f726c6421" val decodedString = encodedString.sliding(2, 2).toArray.map(Integer.parseInt(_, 16).toChar).mkString println(decodedString) // Output: Hello World!