fork download
  1. class VP_Utilities:
  2. _MAX_4 = 16777216
  3. _MAX_3 = 65536
  4. _MAX_2 = 256
  5.  
  6. @staticmethod
  7. def FBL(input):
  8. output = chr(int(input / VP_Utilities._MAX_4))
  9. rem = input % VP_Utilities._MAX_4
  10. output += chr(int(rem / VP_Utilities._MAX_3))
  11. rem %= VP_Utilities._MAX_3
  12. output += chr(int(rem / VP_Utilities._MAX_2))
  13. return (output + chr(int(rem % VP_Utilities._MAX_2)))
  14.  
  15. @staticmethod
  16. def TBL(input):
  17. output = chr(int(input / VP_Utilities._MAX_2))
  18. return (output + chr(int(input % VP_Utilities._MAX_2)))
  19.  
  20. @staticmethod
  21. def ByteLenFromStr(input):
  22. length = len(input)
  23. if(length == 4):
  24. 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])
  25. elif(length == 3):
  26. return (ord(input[0]) * VP_Utilities._MAX_3) + (ord(input[1]) * VP_Utilities._MAX_2) + ord(input[2])
  27. elif(length == 2):
  28. return (ord(input[0]) * VP_Utilities._MAX_2) + ord(input[1])
  29. elif(length == 1):
  30. return ord(input[1])
  31. else:
  32. return 0
  33.  
  34.  
  35. # This function is an overload for ByteLenFromStr
  36. @staticmethod
  37. def ByteLen(input):
  38. return ByteLenFromStr(input)
  39.  
  40. @staticmethod
  41. def VPString(input):
  42. output = ""
  43. for part in input.split(' '):
  44. output += chr(int(part))
  45. return output
  46.  
  47. @staticmethod
  48. def AsciiToStr(input):
  49. output = ""
  50. for character in input:
  51. output += (str(ord(character)) + " ")
  52. return output[:(len(output) -1)]
  53.  
  54.  
  55. print(VP_Utilities.TBL(25087))
  56. print(VP_Utilities.FBL(65280))
  57. print(VP_Utilities.FBL(65535))
  58. print(VP_Utilities.ByteLenFromStr(VP_Utilities.FBL(65536)))
  59. print(VP_Utilities.VPString("97 98 99 100"))
  60. print(VP_Utilities.AsciiToStr("abcd"))
Success #stdin #stdout 0.01s 27712KB
stdin
Standard input is empty
stdout
aÿ
ÿ
ÿÿ
65536
abcd
97 98 99 100