以下是将hex格式转换为base64的示例代码:

function hexToBase64(hex) {
  // 将hex转换为二进制数据
  const binary = hexToBinary(hex);
  
  // 使用btoa函数将二进制数据转换为base64
  const base64 = btoa(binary);
  
  return base64;
}

function hexToBinary(hex) {
  let binary = "";
  
  for (let i = 0; i < hex.length; i += 2) {
    // 将每两个hex字符转换为一个字节
    const byte = parseInt(hex.substr(i, 2), 16);
    
    // 将字节转换为8位二进制
    const binaryByte = byte.toString(2).padStart(8, '0');
    
    binary += binaryByte;
  }
  
  return binary;
}

// 示例用法
const hexString = "48656c6c6f20576f726c64";
const base64String = hexToBase64(hexString);
console.log(base64String);

这个示例中的hexToBase64函数将hex字符串转换为二进制数据,然后使用btoa函数将二进制数据转换为base64字符串。

hexToBinary函数将hex字符串中的每两个字符转换为一个字节,再将字节转换为8位二进制字符串。

请注意,btoa函数在浏览器环境中可用,但在Node.js环境中不可用。在Node.js环境中,您可以使用Buffer.fromBuffer.toString方法来执行相同的操作。以下是在Node.js环境中执行相同操作的示例代码:

function hexToBase64(hex) {
  // 将hex转换为二进制数据
  const binary = hexToBinary(hex);
  
  // 使用Buffer.from将二进制数据转换为Buffer对象
  const buffer = Buffer.from(binary, 'binary');
  
  // 使用Buffer.toString将Buffer对象转换为base64字符串
  const base64 = buffer.toString('base64');
  
  return base64;
}

// 示例用法
const hexString = "48656c6c6f20576f726c64";
const base64String = hexToBase64(hexString);
console.log(base64String);

在这个示例中,hexToBase64函数将hex字符串转换为二进制数据,然后使用Buffer.from方法将二进制数据转换为Buffer对象,最后使用Buffer.toString方法将Buffer对象转换为base64字符串。

JavaScript 将十六进制字符串转换为 Base64 编码

原文地址: https://www.cveoy.top/t/topic/p1yR 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录