JS:实现PHP中的bin2hex()和hex2bin()

/**
 * 实现PHP中的bin2hex()
 * @param {String} s 转化的字符串
 * @return {String}
 */
function bin2hex(s) {
  s = encodeURI(s) //只会有0-127的ascii不转化
  var m = s.match(/%[\dA-F]{2}/g), a = s.split(/%[\dA-F]{2}/), i, j, n, t
  m.push("")
  for (i in a) {
    if (a[i] === "") { a[i] = m[i]; continue }
    n = ""
    for (j in a[i]) {
      t = a[i][j].charCodeAt().toString(16).toUpperCase()
      if (t.length === 1) t = "0" + t
      n += "%" + t
    }
    a[i] = n + m[i]
  }
  return a.join("").split("%").join("")
}
/**
 * 实现PHP中的hex2bin()
 * @param {String} s 转化的字符串
 * @return {String}
 */
function hex2bin(s) {
  var len = s.length
  if (len % 2) return false
  var i, a = []
  for (i = 0; i < len; i += 2) a[i / 2] = "%" + s.substr(i, 2)
  return decodeURIComponent(a.join(""))
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值