diff --git a/ov8/comp.py b/ov8/comp.py index 969e815858990cba266199bb0c823ef9d812c16b..4c828c4baa45d6194b5b850db7ec9d92057be74a 100644 --- a/ov8/comp.py +++ b/ov8/comp.py @@ -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 diff --git a/ov8/compresed b/ov8/compresed index 58c3259f8a0a6d95b762ee5d83b6af529b8624e0..2e17816c55d8d343d84b8b3c464c600d99bfbdce 100644 Binary files a/ov8/compresed and b/ov8/compresed differ diff --git a/ov8/dcomp.py b/ov8/dcomp.py index 837a357cb886dfa0516d123f2f4e30a30119314e..04db05b0374ebeeac85d4bcf0a357b3cc112bc7f 100644 --- a/ov8/dcomp.py +++ b/ov8/dcomp.py @@ -4,6 +4,8 @@ with open('./compresed', 'rb') as file: tekst = file.read() + + def dcomp(): dcomp_arr = [] i = 0 diff --git a/ov8/fil.txt b/ov8/fil.txt index 7c6b3d79b3e2984f68548822841ffb4a74123544..7bea535554882a13b018927bf6fb30663bcaa2c0 100644 --- a/ov8/fil.txt +++ b/ov8/fil.txt @@ -1,8 +1,6 @@ -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 diff --git a/ov8/uncomp b/ov8/uncomp index 7c6b3d79b3e2984f68548822841ffb4a74123544..7bea535554882a13b018927bf6fb30663bcaa2c0 100644 --- a/ov8/uncomp +++ b/ov8/uncomp @@ -1,8 +1,6 @@ -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