如何将数字转换为带0x前缀的指定格式十六进制输入值
数字分组添加0x前缀的转换实现
需求说明
原始输入格式:
New_MS= 102311144
目标输出格式:
New_MS= (0x10, 0x23, 0x11, 0x14, 0x40)
核心要求:将数字字符串按从左到右每两位为一组,每组添加0x前缀;若数字长度为奇数,末尾补0后再分组。
Python实现示例
# 原始输入 input_line = "New_MS= 102311144" # 提取纯数字字符串 num_part = input_line.split("=")[1].strip() # 处理奇数长度:末尾补0 if len(num_part) % 2 != 0: num_part += "0" # 按两位分割并添加0x前缀 hex_parts = [f"0x{num_part[i:i+2]}" for i in range(0, len(num_part), 2)] # 拼接成目标格式 output_line = f"New_MS= ({', '.join(hex_parts)})" print(output_line)
Shell脚本(awk)实现示例
echo "New_MS= 102311144" | awk '{ num = $2 # 奇数长度补0 if (length(num) % 2 != 0) num = num "0" res = "" # 循环分组并拼接 for (i=1; i<=length(num); i+=2) { group = substr(num, i, 2) res = res (res == "" ? "" : ", ") "0x" group } printf "New_MS= (%s)\n", res }'
内容的提问来源于stack exchange,提问作者Mohammed Farttoos
相关产品推荐
相关产品推荐

