Created
January 1, 2011 07:11
-
-
Save lxneng/761609 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## {{{ http://code.activestate.com/recipes/440627/ (r1) | |
'''code_module.py | |
The purpose of this module | |
is to provide functions | |
for the coding of strings. | |
This is a level 1 module.''' | |
#================================== | |
# Level 1 Functions: String To Code | |
#================================== | |
def string_to_number(string): | |
'''string_to_number(string) | |
Create a starting number. | |
Tranlate the string into the number. | |
Return the number.''' | |
number = 1 | |
for character in string: | |
number *= 256 | |
number += ord(character) | |
return number | |
def number_to_code(number): | |
'''number_to_code(long) | |
Create a starting string. | |
Translate the number into the code. | |
Return the string.''' | |
code = str() | |
while number != 0: | |
code = chr(number % 255 + 1) + code | |
number /= 255 | |
return code | |
#================================== | |
# Level 1 Functions: Code To String | |
#================================== | |
def code_to_number(code): | |
'''code_to_number(string) | |
Create a starting number. | |
Tranlate the code into the number. | |
Return the number.''' | |
number = 0 | |
for character in code: | |
number *= 255 | |
number += ord(character) - 1 | |
return number | |
def number_to_string(number): | |
'''number_to_string(long) | |
Create a starting string. | |
Translate the number into the string. | |
Return the string.''' | |
string = str() | |
while number > 1: | |
string = chr(number % 256) + string | |
number /= 256 | |
return string | |
#=============================== | |
# Level 2 Functions: To And From | |
#=============================== | |
def string_to_code(string): | |
'''string_to_code(string) | |
Returns a string converted to code.''' | |
return number_to_code(string_to_number(string)) | |
def code_to_string(code): | |
'''code_to_string(string) | |
Returns code converted to a string.''' | |
return number_to_string(code_to_number(code)) | |
#================ | |
# CGI: Print File | |
#================ | |
if __name__ == '__main__': | |
from sys import argv | |
print 'Content-type: text/plain' | |
print file(argv[0]).read() | |
## end of http://code.activestate.com/recipes/440627/ }}} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment