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

如何将含Unicode转义的字符串转换为十进制拼接形式?

解决Unicode转义字符串转指定格式的问题

需求分析

你需要将包含Unicode转义序列(如\u0006)的字符串,转换为保留转义序列对应十进制数字、同时保留原字母数字字符、剔除其他符号的格式,最终得到类似"631588D402"的结果。

解决方案(Python实现)

可以通过正则匹配Unicode转义序列,提取关键部分转换为十进制,再过滤掉非字母数字字符来实现:

import re

# 原始输入字符串(使用原始字符串避免转义冲突)
input_str = r"\u0006;\u0003\u001588D402"

# 替换Unicode转义序列为对应十进制数字字符串
def unicode_to_decimal(match):
    # 提取转义序列后两位十六进制数,转为十进制
    hex_segment = match.group(1)[2:]
    return str(int(hex_segment, 16))

# 匹配所有\uXXXX格式的转义序列并替换
processed_str = re.sub(r'\\u([0-9a-fA-F]{4})', unicode_to_decimal, input_str)

# 过滤掉非字母数字的字符
final_result = ''.join([char for char in processed_str if char.isalnum()])

# 输出结果
print(f'"{final_result}"')

代码说明

  • 正则表达式r'\\u([0-9a-fA-F]{4})'专门匹配\uXXXX格式的Unicode转义序列,提取其中的四位十六进制数。
  • 提取四位十六进制数的后两位(如\u0015取15),转为十进制数字后转成字符串。
  • 最后过滤掉所有非字母数字的字符(比如示例中的;),拼接得到最终结果。

运行上述代码后,会输出你预期的:

"631588D402"

内容的提问来源于stack exchange,提问作者Escris

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 18:41:04