# cat blog >> /dev/brain 2> /proc/mind
cat blog >> /dev/brain 2> /proc/mind
# cat mission_04.py def hex2bin(h): binary = '' for i in range(0, len(h), 2): byte = u[i:i + 2] binary += format(int(byte, 16), '08b') return binary def decode(u): lu = len(u) if lu == 2: return u.decode('hex') elif lu == 4: binary = hex2bin(u) r = binary[3:8] + binary[10:] return chr(int(r, 2)) elif lu == 6: binary = hex2bin(u) r = binary[4:8] + binary[10:16] + binary[18:] return chr(int(r, 2)) elif lu == 8: binary = '' binary = hex2bin(u) r = binary[5:8] + binary[10:16] + binary[18:24] + binary[26:] return chr(int(r, 2)) message = 'E0818F766572C1ACE081AFE081AEC1A7E080A0E08195C194E081862DE080B8E080A0F08081B7C1A17320C1B3F08081B563C1A820E081A1F08080A0E081A6F08081B5F08081AE20E081A6E081A5F08081A1C1B475E081B2E081A5F08080AE' result = '' i = 0 while i < len(message): byte = int(message[i:i+2], 16) binary = format(byte, '08b') if binary[0] == '0': j = 2 elif binary[0:3] == '110': j = 4 elif binary[0:4] == '1110': j = 6 elif binary[0:5] == '11110': j = 8 u = message[i:i + j] i += j result += decode(u) print result # python mission_04.py Overlong UTF-8 was such a fun feature.
cat mission_04.py
python mission_04.py
Post a Comment
No comments:
Post a Comment