[Python-Dev] Python 3.x and bytes (original) (raw)

"Martin v. Löwis" martin at v.loewis.de
Sun Jun 12 19:34:42 CEST 2011


# constants

EOH = b'\r'[0] CHAR = b'C'[0] DATE = b'D'[0] FLOAT = b'F'[0] INT = b'I'[0] LOGICAL = b'L'[0] MEMO = b'M'[0] NUMBER = b'N'[0] This is not beautiful code.

In this case, I think the intent would be better captured with

def ASCII(c): return c.encode('ascii')

EOH = ASCII('\r') # 0D CHAR = ASCII('C') # 43 DATE = ASCII('D') # 44 FLOAT = ASCII('F') # 46 INT = ASCII('I') # 49 LOGICAL = ASCII('L') # 4C MEMO = ASCII('M') # 4D NUMBER = ASCII('N') # 4E

This expresses the intent that a) these are really byte values, not characters, and b) the specific choice of byte values was motivated by ASCII.

Regards, Martin



More information about the Python-Dev mailing list