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

如何拆分带小数的十六进制字符串为单个字节并截断小数部分?

十六进制字符串拆分解决方案

要实现需求,只需三步处理:提取整数部分、补前导零保证字节格式、按两位拆分并拼接,具体代码和说明如下:

实现代码

const string = "3E8.8F5C28F5C28";
// 提取小数点前的十六进制整数部分
const integerPart = string.split('.')[0];
// 补前导零,确保字符串长度为偶数(单个字节对应两位十六进制)
const paddedPart = integerPart.length % 2 === 1 ? '0' + integerPart : integerPart;
// 按每两位十六进制字符拆分
const byteArray = paddedPart.match(/[\dA-Fa-f]{2}/g);
// 用空格拼接成目标格式
const result = byteArray.join(' ');

console.log(result); // 输出:03 E8

代码说明

  1. 提取整数部分:通过split('.')[0]直接截取小数点前的内容,彻底丢弃不需要的小数部分。
  2. 补前导零:单个字节必须对应两位十六进制字符,若原整数部分长度为奇数(如示例中的3E8是3位),则在开头补零,确保拆分后每个元素都是完整字节。
  3. 拆分与拼接:用正则match(/[\dA-Fa-f]{2}/g)精准匹配每两位十六进制字符,得到字节数组后,用join(' ')拼接成空格分隔的格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 02:05:02