Skip to content

Instantly share code, notes, and snippets.

@ctoestreich
Created November 3, 2011 21:02
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ctoestreich/1337772 to your computer and use it in GitHub Desktop.
Save ctoestreich/1337772 to your computer and use it in GitHub Desktop.
Custom Number Encoder Memory Storage Size Test
def r = new Random()
def num = r.nextInt(12000000).toString()
println num
println num.bytes.length
println encodeNumber(num, getEncoder())
println encodeNumber(num, getEncoder()).bytes.length
def getEncoder(){
['1','2','3','4','5','6','7','8','9','0','-','=','!','@','#','$','%','^','&','*','(',')','_',
'+','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',
'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','[',']',
'\\',';','\'',',','.','/','{','}','|',':','\"','<','>','?','`','~',' ','ä','Ä','Ü','Ö','ü']
}
String encodeNumber(number, encoder){
String encoded = ""
String numberString = number.toString()
numberString = ((numberString.length() % 2) != 0 ? "0$numberString" : numberString)
Integer token = numberString.length()-1
while(token >= 0){
encoded += encoder[numberString[token-1..token].toInteger()]
token-=2
}
encoded
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment