Skip to content
Snippets Groups Projects
Commit 3d22258b authored by Jacob Theisen's avatar Jacob Theisen
Browse files

KJØR

parent da8b863f
Branches hal
No related tags found
No related merge requests found
......@@ -7,8 +7,6 @@ with open('./fil.txt') as file:
def run_comp():
text = tekst
output = ''
......@@ -17,6 +15,7 @@ def run_comp():
increment = 6
tmp_index_to_store_counter = 0
tmp_index_in_input = 0
extra_bytes_counter = 0
while True:
#finished
if index + increment >= len(text):
......@@ -24,8 +23,11 @@ def run_comp():
diff = increment - diff_inc
#add the remaing string
output += text[-diff:len(text)]
for j in text[-diff:len(text)]:
if j not in string.printable:
extra_bytes_counter +=1
#add the last counter for uncompresed chars
output = output[:tmp_index_to_store_counter] + f'[{(index + increment)-tmp_index_in_input}]' + output[tmp_index_to_store_counter:]
output = output[:tmp_index_to_store_counter] + f'[{(index + increment)-tmp_index_in_input+extra_bytes_counter}]' + output[tmp_index_to_store_counter:]
return output
#if string is already processed
if text[index: index + increment] in text[:index]:
......@@ -36,7 +38,7 @@ def run_comp():
increment -=1
break
#add counter, at the index of tmp_index_to_store_counter for the previus uncompresed chars
string_to_insert = f'[{index-tmp_index_in_input}]'
string_to_insert = f'[{index-tmp_index_in_input+extra_bytes_counter}]'
output = output[:tmp_index_to_store_counter] + string_to_insert + output[tmp_index_to_store_counter:]
#calculate how many chars ago last occurance of the string
last_occurance = -(index - text[:index].rindex(text[index: index + increment]))
......@@ -49,12 +51,13 @@ def run_comp():
tmp_index_in_input = index
#reset incremnet
increment = 6
extra_bytes_counter = 0
else:
#if substring not procesed, add letter to output and incremnet index
output += text[index]
index +=1
if text[index] not in string.printable:
extra_bytes_counter +=1
......@@ -107,7 +110,7 @@ while i < len(a):
i +=1
'''
extra_bytes_counter2 = 0
togle_replace = False
togle_append_clear_text = False
while True:
......@@ -123,10 +126,15 @@ while True:
int1 = int(a[i:i+len_of_int])
file.write(int1.to_bytes(2,'little'))
with open('./compresed', 'a') as file:
file.write(a[i + len_of_int+1:i + len_of_int+1+int1])
i += len_of_int + int1 + 2
#print(a[i + len_of_int+1:i + len_of_int+1+int1])
for j in a[i + len_of_int+1:i + len_of_int+1+int1]:
if j not in string.printable:
extra_bytes_counter2 += 1
file.write(a[i + len_of_int+1:i + len_of_int+1+int1 - extra_bytes_counter2])
i += len_of_int + int1 + 2 - extra_bytes_counter2
togle_replace = True
togle_append_clear_text = False
extra_bytes_counter2 = 0
elif togle_replace == True:
len_of_backtrack_int = i
......
No preview for this file type
......@@ -4,6 +4,8 @@ with open('./compresed', 'rb') as file:
tekst = file.read()
def dcomp():
dcomp_arr = []
i = 0
......
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus ligula nulla, pulvinar sit amet commodo vestibulum, sollicitudin nec nibh. Mauris id vulputate orci. Maecenas pulvinar quis nisi eget hendrerit. Nunc laoreet velit lorem, ac posuere urna vehicula eu. Aenean augue nulla, bibendum eget egestas et, tincidunt eu dui. Ut suscipit libero sit amet vulputate porta. Morbi tristique aliquam turpis, nec malesuada dui malesuada at. Ut ac ultricies sem. Nam bibendum elementum justo nec commodo. Fusce viverra eros in orci auctor, at molestie nulla vehicula. Aliquam varius ligula ac odio blandit, non commodo ipsum egestas. Nullam maximus risus id mi commodo tincidunt. Etiam euismod quam ac mattis auctor. Nam vel aliquet sem. Mauris ante nulla, facilisis faucibus enim vitae, blandit interdum urna. Suspendisse placerat lacus enim, et commodo augue tincidunt a.
Loåorem ipsum dolor sitø amet, consectetur adipiæscing elit. Phasellus ligula nulla, pulvinar sit amet commodo vestibulum, sollicitudin nec nibh. Mauris id vulputate orci. Maecenas pulvinar quis nisi eget hendrerit. Nunc laoreet velit lorem, ac posuere urna vehicula eu. Aenean augue nulla, bibendum eget egestas et, tincidunt eu dui. Ut suscipit libero sit amet vulputate porta. Morbi tristique aliquam turpis, nec malesuada dui malesuada at. Ut ac ultricies sem. Nam bibendum elementum justo nec commodo. Fusce viverra eros in orci auctor, at molestie nulla vehicula. Aliquam varius ligula ac odio blandit, non commodo ipsum egestas. Nullam maximus risus id mi commodo tincidunt. Etiam euismod quam ac mattis auctor. Nam vel aliquet sem. Mauris ante nulla, facilisis faucibus enim vitae, blandit interdum urna. Suspendisse placerat lacus enim, et commodo augue tincidunt a.
Sed hendrerit diam eleifend faucibus iaculis. Nam vulputate fringilla vulputate. Morbi vehicula metus in quam mattis finibus. Proin dapibus tellus a porttitor volutpat. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Sed nec augue sit amet purus tempus dapibus et at turpis. Morbi vitae turpis vel odio porttitor egestas. Duis id rhoncus ipsum, sed eleifend leo. Donec et tempor lectus. Donec a elementum nulla, placerat pellentesque mauris. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae;
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus ligula nulla, pulvinar sit amet commodo vestibulum, sollicitudin nec nibh. Mauris id vulputate orci. Maecenas pulvinar quis nisi eget hendrerit. Nunc laoreet velit lorem, ac posuere urna vehicula eu. Aenean augue nulla, bibendum eget egestas et, tincidunt eu dui. Ut suscipit libero sit amet vulputate porta. Morbi tristique aliquam turpis, nec malesuada dui malesuada at. Ut ac ultricies sem. Nam bibendum elementum justo nec commodo. Fusce viverra eros in orci auctor, at molestie nulla vehicula. Aliquam varius ligula ac odio blandit, non commodo ipsum egestas. Nullam maximus risus id mi commodo tincidunt. Etiam euismod quam ac mattis auctor. Nam vel aliquet sem. Mauris ante nulla, facilisis faucibus enim vitae, blandit interdum urna. Suspendisse placerat lacus enim, et commodo augue tincidunt a.
Sed hendrerit diam eleifend faucibus iaculis. Nam vulputate fringilla vulputate. Morbi vehicula metus in quam mattis finibus. Proin dapibus tellus a porttitor volutpat. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Sed nec augue sit amet purus tempus dapibus et at turpis. Morbi vitae turpis vel odio porttitor egestas. Duis id rhoncus ipsum, sed eleifend leo. Donec et tempor lectus. Donec a elementum nulla, placerat pellentesque mauris. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae;
å
\ No newline at end of file
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus ligula nulla, pulvinar sit amet commodo vestibulum, sollicitudin nec nibh. Mauris id vulputate orci. Maecenas pulvinar quis nisi eget hendrerit. Nunc laoreet velit lorem, ac posuere urna vehicula eu. Aenean augue nulla, bibendum eget egestas et, tincidunt eu dui. Ut suscipit libero sit amet vulputate porta. Morbi tristique aliquam turpis, nec malesuada dui malesuada at. Ut ac ultricies sem. Nam bibendum elementum justo nec commodo. Fusce viverra eros in orci auctor, at molestie nulla vehicula. Aliquam varius ligula ac odio blandit, non commodo ipsum egestas. Nullam maximus risus id mi commodo tincidunt. Etiam euismod quam ac mattis auctor. Nam vel aliquet sem. Mauris ante nulla, facilisis faucibus enim vitae, blandit interdum urna. Suspendisse placerat lacus enim, et commodo augue tincidunt a.
Loåorem ipsum dolor sitø amet, consectetur adipiæscing elit. Phasellus ligula nulla, pulvinar sit amet commodo vestibulum, sollicitudin nec nibh. Mauris id vulputate orci. Maecenas pulvinar quis nisi eget hendrerit. Nunc laoreet velit lorem, ac posuere urna vehicula eu. Aenean augue nulla, bibendum eget egestas et, tincidunt eu dui. Ut suscipit libero sit amet vulputate porta. Morbi tristique aliquam turpis, nec malesuada dui malesuada at. Ut ac ultricies sem. Nam bibendum elementum justo nec commodo. Fusce viverra eros in orci auctor, at molestie nulla vehicula. Aliquam varius ligula ac odio blandit, non commodo ipsum egestas. Nullam maximus risus id mi commodo tincidunt. Etiam euismod quam ac mattis auctor. Nam vel aliquet sem. Mauris ante nulla, facilisis faucibus enim vitae, blandit interdum urna. Suspendisse placerat lacus enim, et commodo augue tincidunt a.
Sed hendrerit diam eleifend faucibus iaculis. Nam vulputate fringilla vulputate. Morbi vehicula metus in quam mattis finibus. Proin dapibus tellus a porttitor volutpat. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Sed nec augue sit amet purus tempus dapibus et at turpis. Morbi vitae turpis vel odio porttitor egestas. Duis id rhoncus ipsum, sed eleifend leo. Donec et tempor lectus. Donec a elementum nulla, placerat pellentesque mauris. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae;
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus ligula nulla, pulvinar sit amet commodo vestibulum, sollicitudin nec nibh. Mauris id vulputate orci. Maecenas pulvinar quis nisi eget hendrerit. Nunc laoreet velit lorem, ac posuere urna vehicula eu. Aenean augue nulla, bibendum eget egestas et, tincidunt eu dui. Ut suscipit libero sit amet vulputate porta. Morbi tristique aliquam turpis, nec malesuada dui malesuada at. Ut ac ultricies sem. Nam bibendum elementum justo nec commodo. Fusce viverra eros in orci auctor, at molestie nulla vehicula. Aliquam varius ligula ac odio blandit, non commodo ipsum egestas. Nullam maximus risus id mi commodo tincidunt. Etiam euismod quam ac mattis auctor. Nam vel aliquet sem. Mauris ante nulla, facilisis faucibus enim vitae, blandit interdum urna. Suspendisse placerat lacus enim, et commodo augue tincidunt a.
Sed hendrerit diam eleifend faucibus iaculis. Nam vulputate fringilla vulputate. Morbi vehicula metus in quam mattis finibus. Proin dapibus tellus a porttitor volutpat. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Sed nec augue sit amet purus tempus dapibus et at turpis. Morbi vitae turpis vel odio porttitor egestas. Duis id rhoncus ipsum, sed eleifend leo. Donec et tempor lectus. Donec a elementum nulla, placerat pellentesque mauris. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae;
å
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment