为了账号安全,请及时绑定邮箱和手机立即绑定

16进制转换为字符串

16进制转换为字符串

慕妹3146593 2018-12-04 13:17:05
"%C1%E9%B4%A8%CF%D8%B2%FD%CE%B5%E6%BF%BE%EA%CA%B3%C6%B7%B5%EA"这是http参数串的一部分,请问这串怎么转换成字符串呢?
查看完整描述

1 回答

?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

python3


>>> s="%C1%E9%B4%A8%CF%D8%B2%FD%CE%B5%E6%BF%BE%EA%CA%B3%C6%B7%B5%EA"

>>> ls=s.split('%')[1:]

>>> bytes(int(x,16)for x in ls).decode('gbk')

'灵川县昌蔚婵娟食品店'

js并没有内置的方法用于字符编码转换,需要自己实现。

或者利用浏览器的功能。

参考:

利用javascript进行编码转换,GBK转UTF-8

在nodejs中,可以用iconv-lite来解码。


iconv = require("iconv-lite");


s = '%C1%E9%B4%A8%CF%D8%B2%FD%CE%B5%E6%BF%BE%EA%CA%B3%C6%B7%B5%EA'

arr = s.split('%')

arr.shift()

buf = Buffer.from(arr.map(x => parseInt(x,16)))

s = iconv.decode(buf, 'gbk')

console.log(s)

//灵川县昌蔚婵娟食品店


查看完整回答
反对 回复 2019-01-21
  • 1 回答
  • 0 关注
  • 470 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信