29 lines
589 B
Python
29 lines
589 B
Python
def writeU8(os, u8):
|
|
os.write(bytes((u8&0xff,)))
|
|
|
|
def writeU16(os, u16):
|
|
os.write(bytes(((u16>>8)&0xff,)))
|
|
os.write(bytes((u16&0xff,)))
|
|
|
|
def writeU32(os, u32):
|
|
os.write(bytes(((u32>>24)&0xff,)))
|
|
os.write(bytes(((u32>>16)&0xff,)))
|
|
os.write(bytes(((u32>>8)&0xff,)))
|
|
os.write(bytes((u32&0xff,)))
|
|
|
|
def writeString(os, s):
|
|
b = bytes(s, "utf-8")
|
|
writeU16(os, len(b))
|
|
os.write(b)
|
|
|
|
def writeLongString(os, s):
|
|
b = bytes(s, "utf-8")
|
|
writeU32(os, len(b))
|
|
os.write(b)
|
|
|
|
def bytesToInt(b):
|
|
s = 0
|
|
for x in b:
|
|
s = (s<<8)+x
|
|
return s
|