You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Kotlin中将十六进制代码转换为标准字符

Kotlin中转义十六进制字符的简便处理方法

Kotlin标准库并没有直接提供处理\xXX格式十六进制转义字符的内置函数,但可以通过扩展函数+正则匹配快速实现需求,代码简洁且无需额外依赖:

fun String.decodeHexEscapes(): String {
    // 匹配\x后接两位十六进制字符的格式
    val hexEscapePattern = Regex("\\\\x([0-9A-Fa-f]{2})")
    return hexEscapePattern.replace(this) { match ->
        // 提取十六进制字符串,转成Int后转换为对应字符
        match.groupValues[1].toInt(16).toChar().toString()
    }
}

// 使用示例
fun main() {
    val originalStr = "Build \\x26 sell"
    val decodedStr = originalStr.decodeHexEscapes()
    println(decodedStr) // 输出:Build & sell
}

补充说明

  1. 该函数会批量处理字符串中所有\xXX格式的转义,比如"\\x48\\x65\\x6C\\x6C\\x6F"会被解析为"Hello"
  2. 如果你的场景还包含HTML实体类转义(比如í),可以借助第三方库(如Apache Commons Text)的StringEscapeUtils.unescapeHtml4()方法,但需要额外引入依赖;但针对\xXX这种C风格转义,上述自定义扩展函数是最轻便的方案

内容的提问来源于stack exchange,提问作者Vít Paník

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 01:07:39