【问题标题】:Coverting Hex to ASCII Characters in Python在 Python 中将十六进制转换为 ASCII 字符
【发布时间】:2018-10-22 22:38:56
【问题描述】:

我想得到这样的东西:

Kì°k[7ì]ÿ¯G]ìw/uëGU—kÔÍj+³¯Mè1Sjwˆ½öm�Á|Uç

但我在使用时不断收到这个 binascii.unhexlify(ph) #ph 是一个十六进制字符串:

x05\x00\x00\xd0\x05\x00data!W\x00\x00\t\x00\x00\

PS:我基本上是在尝试通过从我创建的包含十六进制值的字符串中删除一些代码行来将 AUDIO 文件转换为另一个扩展名。 (我用 Hex Editor 手动尝试过,效果很好,我想为它制作一个 python 脚本,但我在转换步骤中发现了一个僵局)

Here is an example of what i want to get.

【问题讨论】:

    标签: python data-conversion


    【解决方案1】:

    如果有人有同样的问题,我会找到答案。假设我想将 ch="E4BC716838B15CE6FCD5" 十六进制字符串转换为 ASCII 并且 ph 是我想要获得的 ascii 字符串: 只需一次循环遍历字符串两个字符,在这两个字符串上使用 int() 以及 16,然后使用 chr() 将数字转换为字符。 代码如下:

    ch="E4BC716838B15CE6FCD5"
    ph=''
    for i in range(1,(len(ch)//2)+1):
       Lh=''                 
       Lh=ch[2*i-2:2*i]              #This is the two char string for each loop
       x = int(Lh,16)                #The value of the 'Lh' Hex
       ph=ph+chr(x)                  #chr is used to convert the int to ascii
    

    结果是 ph='ä¼qh8±\æüÕ'

    【讨论】:

      猜你喜欢
      • 2014-11-16
      • 2011-11-21
      • 1970-01-01
      • 2017-08-25
      • 2011-06-14
      • 2019-10-20
      • 1970-01-01
      相关资源
      最近更新 更多