from sys import version_info as pyVersion
from binascii import hexlify, unhexlify
if pyVersion.major == 3:
# py3 constants and conversion functions
stringTypes = (str,)
intTypes = (int, float)
def toString(string, encoding="utf-8"):
return string.decode(encoding)
def toBytes(string, encoding="utf-8"):
return string.encode(encoding)
def safeBinaryFromHex(hexadecimal):
if len(hexadecimal) % 2 == 1:
hexadecimal = "0" + hexadecimal
return unhexlify(hexadecimal)
def safeHexFromBinary(byteString):
return toString(hexlify(byteString))
else:
# py2 constants and conversion functions
stringTypes = (str, unicode)
intTypes = (int, float, long)
def toString(string, encoding="utf-8"):
return string
def toBytes(string, encoding="utf-8"):
return string
def safeBinaryFromHex(hexadecimal):
return unhexlify(hexadecimal)
def safeHexFromBinary(byteString):
return hexlify(byteString)