import timeit
def toByteHexArray(n):
string = hex(n)[2:]
if len(string) % 2 == 1:
string = "0" + string
pairs = zip(string[::2], string[1::2])
return "[0x" + ",0x".join((a + b for a, b in pairs)) + "]"
def split_bytes(n, as_string=False):
result = []
keep_going = True
while keep_going:
if n >> 8 == 0:
keep_going = False
result.insert(0, hex(n & 0xFF))
n = n >> 8
if as_string:
return f'[{",".join(result)}]'
return result
if __name__ == '__main__':
t1 = timeit.timeit("toByteHexArray(0x3E75C28F)", 'from __main__ import toByteHexArray')
t2 = timeit.timeit("split_bytes(0x3E75C28F)", 'from __main__ import split_bytes')
t3 = timeit.timeit("split_bytes(0x3E75C28F, True)", 'from __main__ import split_bytes')
print(t1)
print(t2)
print(t3)
aW1wb3J0IHRpbWVpdAoKCmRlZiB0b0J5dGVIZXhBcnJheShuKToKICAgIHN0cmluZyA9IGhleChuKVsyOl0KICAgIGlmIGxlbihzdHJpbmcpICUgMiA9PSAxOgogICAgICAgIHN0cmluZyA9ICIwIiArIHN0cmluZwogICAgcGFpcnMgPSB6aXAoc3RyaW5nWzo6Ml0sIHN0cmluZ1sxOjoyXSkKICAgIHJldHVybiAiWzB4IiArICIsMHgiLmpvaW4oKGEgKyBiIGZvciBhLCBiIGluIHBhaXJzKSkgKyAiXSIKCgpkZWYgc3BsaXRfYnl0ZXMobiwgYXNfc3RyaW5nPUZhbHNlKToKICAgIHJlc3VsdCA9IFtdCiAgICBrZWVwX2dvaW5nID0gVHJ1ZQogICAgd2hpbGUga2VlcF9nb2luZzoKICAgICAgICBpZiBuID4+IDggPT0gMDoKICAgICAgICAgICAga2VlcF9nb2luZyA9IEZhbHNlCiAgICAgICAgcmVzdWx0Lmluc2VydCgwLCBoZXgobiAmIDB4RkYpKQogICAgICAgIG4gPSBuID4+IDgKCiAgICBpZiBhc19zdHJpbmc6CiAgICAgICAgcmV0dXJuIGYnW3siLCIuam9pbihyZXN1bHQpfV0nCiAgICAKICAgIHJldHVybiByZXN1bHQKCgppZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgogICAgdDEgPSB0aW1laXQudGltZWl0KCJ0b0J5dGVIZXhBcnJheSgweDNFNzVDMjhGKSIsICdmcm9tIF9fbWFpbl9fIGltcG9ydCB0b0J5dGVIZXhBcnJheScpCiAgICB0MiA9IHRpbWVpdC50aW1laXQoInNwbGl0X2J5dGVzKDB4M0U3NUMyOEYpIiwgJ2Zyb20gX19tYWluX18gaW1wb3J0IHNwbGl0X2J5dGVzJykKICAgIHQzID0gdGltZWl0LnRpbWVpdCgic3BsaXRfYnl0ZXMoMHgzRTc1QzI4RiwgVHJ1ZSkiLCAnZnJvbSBfX21haW5fXyBpbXBvcnQgc3BsaXRfYnl0ZXMnKQogICAgcHJpbnQodDEpCiAgICBwcmludCh0MikKICAgIHByaW50KHQzKQo=