Python - decode('hex')

Ganesh Pal ganesh1pal at gmail.com
Tue Feb 21 00:49:40 EST 2017


Got it , MRAB,  Thanks for the explanation  it was such a  simple thing I
was breaking my head over it

On Tue, Feb 21, 2017 at 1:34 AM, MRAB <python at mrabarnett.plus.com> wrote:

> On 2017-02-20 19:43, Ganesh Pal wrote:
>
>> On Feb 21, 2017 12:17 AM, "Rhodri James" <rhodri at kynesim.co.uk> wrote:
>>
>> On 20/02/17 17:55, Ganesh Pal wrote:
>>
>> 1. The only difference between both the programs  the difference are just
>>> the below lines.
>>>
>>> newdata = '64000101057804'.decode('hex')
>>>
>>>         and
>>>
>>> newdata = ""
>>> newdata = '64000101057804'
>>> newdata.decode('hex')
>>>
>>>
>>> What is happening here and how do I fix this in  program 2  ?   for my
>>> eyes
>>> there doesn't look any difference .
>>>
>>>
>> Python strings are immutable; methods like decode() create a brand new
>> string for you.  What your program 2 version does is to name the string of
>> hex digits "newdata", decode it as hex into a new string and then throw
>> that new string away.  Your program 1 version by contrast decodes the
>> string of digits as hex and then names is "newdata", throwing the original
>> string of digits away
>>
>>
>> Thanks for the reply James.
>>
>> How can I make my program 2 look like program 1 ,  any hacks ? because I
>> get newdata value( as a hx return value Of type string  )from a function.
>>
>> In this:
>
>     newdata.decode('hex')
>
> The .decode method doesn't change newdata in-place, it _returns_ the
> result.
>
> You're doing anything with that result. You're not binding (assigning) it
> to a name. You're not passing it into a function. You're not doing
> _anything_ with it. You're just letting it be discarded, thrown away.
>
> You could ask the user for the hex string:
>
>     hex_string = raw_input('Enter the hex string: ')
>
> and then decode it:
>
>     newdata = hex_string.decode('hex')
>
> --
> https://mail.python.org/mailman/listinfo/python-list
>



More information about the Python-list mailing list