class VP_Utilities:
_MAX_4 = 16777216
_MAX_3 = 65536
_MAX_2 = 256
@staticmethod
def FBL(input):
output = chr(int(input / VP_Utilities._MAX_4))
rem = input % VP_Utilities._MAX_4
output += chr(int(rem / VP_Utilities._MAX_3))
rem %= VP_Utilities._MAX_3
output += chr(int(rem / VP_Utilities._MAX_2))
return (output + chr(int(rem % VP_Utilities._MAX_2)))
@staticmethod
def TBL(input):
output = chr(int(input / VP_Utilities._MAX_2))
return (output + chr(int(input % VP_Utilities._MAX_2)))
@staticmethod
def ByteLenFromStr(input):
length = len(input)
if(length == 4):
return (ord(input[0]) * VP_Utilities._MAX_4) + (ord(input[1]) * VP_Utilities._MAX_3) + (ord(input[2]) * VP_Utilities._MAX_2) + ord(input[3])
elif(length == 3):
return (ord(input[0]) * VP_Utilities._MAX_3) + (ord(input[1]) * VP_Utilities._MAX_2) + ord(input[2])
elif(length == 2):
return (ord(input[0]) * VP_Utilities._MAX_2) + ord(input[1])
elif(length == 1):
return ord(input[1])
else:
return 0
# This function is an overload for ByteLenFromStr
@staticmethod
def ByteLen(input):
return ByteLenFromStr(input)
@staticmethod
def VPString(input):
output = ""
for part in input.split(' '):
output += chr(int(part))
return output
@staticmethod
def AsciiToStr(input):
output = ""
for character in input:
output += (str(ord(character)) + " ")
return output[:(len(output) -1)]
print(VP_Utilities.TBL(25087))
print(VP_Utilities.FBL(65280))
print(VP_Utilities.FBL(65535))
print(VP_Utilities.ByteLenFromStr(VP_Utilities.FBL(65536)))
print(VP_Utilities.VPString("97 98 99 100"))
print(VP_Utilities.AsciiToStr("abcd"))