Convert string to ASCII value python

后端 未结 8 1722
深忆病人
深忆病人 2020-12-07 22:43

How would you convert a string to ASCII values?

For example, \"hi\" would return 104105.

I can individually do ord(\'h\') and ord(\'i\'), but it\'s going to

8条回答
  •  渐次进展
    2020-12-07 23:00

    It is not at all obvious why one would want to concatenate the (decimal) "ascii values". What is certain is that concatenating them without leading zeroes (or some other padding or a delimiter) is useless -- nothing can be reliably recovered from such an output.

    >>> tests = ["hi", "Hi", "HI", '\x0A\x29\x00\x05']
    >>> ["".join("%d" % ord(c) for c in s) for s in tests]
    ['104105', '72105', '7273', '104105']
    

    Note that the first 3 outputs are of different length. Note that the fourth result is the same as the first.

    >>> ["".join("%03d" % ord(c) for c in s) for s in tests]
    ['104105', '072105', '072073', '010041000005']
    >>> [" ".join("%d" % ord(c) for c in s) for s in tests]
    ['104 105', '72 105', '72 73', '10 41 0 5']
    >>> ["".join("%02x" % ord(c) for c in s) for s in tests]
    ['6869', '4869', '4849', '0a290005']
    >>>
    

    Note no such problems.

提交回复
热议问题