mcimport/serialize.py

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