I've found a lot of resources that can encode/decode your text to URL encoding.
But.
All of them does not encoding ASCII characters, like 'A' or 'S' for example.
If you want to encode this: ['some text], you will get this: [%27some%20text].
And I want all that string to be encoded, including 'some' and 'text'.
Decided to make this in python.
What is %20? It is hexadecimal value of 'space'.
I will use method .encode('hex_codec').
>>> ' '.encode('hex_codec')
'20'
Append '%' to it's value, and woala, you've got URL encoded 'space' = %20
Here it is (just a function):
#recieve string >> return URL converted string
def encoder(strings):
strings = strings.split(' ')
lst = []
for s in strings:
b = ''
for i in str(s):
b = b+'%'+i.encode('hex_codec')
lst.append(str(b))
all_string = ' '.join(lst).upper()
return all_string
It should get a string, and return encoded string. (by the way, it will not encode spaces, i don't need it)
If you want a full working and colored script with upper/lower character randomization:
#!/usr/bin/env python
#__author: Korznikov Alexander, aka nopernik
import sys
from random import randint
#coloring
W = '\033[0m' # Text reset
G = '\033[32m' # green
R = '\033[31m' # red
B = '\033[34m' # blue
#recieve string >> return URL converted string
def encoder(strings):
strings = strings.split(' ')
lst = []
for s in strings:
b = ''
for i in str(s):
b = b+'%'+i.encode('hex_codec')
lst.append(str(b))
all_string = ' '.join(lst).upper()
return all_string
def randomize(data):
s = ''
for i in data:
if randint(1,10) % 2:
s += i.lower()
else:
s += i.upper()
return s
def main(data):
rnd_data = randomize(data)
print '\n(Original Decoded): \'%s%s%s\'' % (B,data,W)
print '(Original Encoded): \'%s%s%s\'' % (G,encoder(data),W)
print '\nRandomized Decoded: \'%s%s%s\'' % (R,rnd_data,W)
print 'Randomized Encoded: \'%s%s%s\'\n' % (G,encoder(rnd_data),W)
if __name__ == '__main__':
print '\n'+'-'*37+'\n URL Encoder, by Korznikov Alexander\n'+'-'*37
if len(sys.argv[1:]) >= 1:
main(' '.join(sys.argv[1:]))
else:
main(raw_input('\nEnter text to encode: '))
Example output:# url_encode.py got some text ------------------------------------- URL Encoder, by Korznikov Alexander ------------------------------------- (Original Decoded): 'got some text' (Original Encoded): '%67%6F%74 %73%6F%6D%65 %74%65%78%74' Randomized Decoded: 'GOt SoMe text' Randomized Encoded: '%47%4F%74 %53%6F%4D%65 %74%65%78%74'That's all.