diff --git a/ov8/comp.py b/ov8/comp.py index 4c828c4baa45d6194b5b850db7ec9d92057be74a..3c949b921c5161622659fd3ceab2650510a81a2d 100644 --- a/ov8/comp.py +++ b/ov8/comp.py @@ -16,6 +16,7 @@ def run_comp(): tmp_index_to_store_counter = 0 tmp_index_in_input = 0 extra_bytes_counter = 0 + k = 0 while True: #finished if index + increment >= len(text): @@ -30,11 +31,13 @@ def run_comp(): 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]: + if index > 32767: + k = index - 32767 + if text[index: index + increment] in text[k:index]: #check if a bigger substring also is already processed if so, compress this instead while True: increment += 1 - if text[index: index + increment] not in text[:index] or index + increment >= len(text): + if text[index: index + increment] not in text[k:index] or index + increment >= len(text): increment -=1 break #add counter, at the index of tmp_index_to_store_counter for the previus uncompresed chars diff --git a/ov8/compresed b/ov8/compresed index 2e17816c55d8d343d84b8b3c464c600d99bfbdce..cd1eb46adffef74cc8a0c9e3ccbe6c9105076d57 100644 Binary files a/ov8/compresed and b/ov8/compresed differ diff --git a/ov8/dcomp.py b/ov8/dcomp.py index 04db05b0374ebeeac85d4bcf0a357b3cc112bc7f..19b69ac6ef6567402fe3424baa2083db05bab4f0 100644 --- a/ov8/dcomp.py +++ b/ov8/dcomp.py @@ -7,13 +7,12 @@ with open('./compresed', 'rb') as file: def dcomp(): - dcomp_arr = [] i = 0 dcomp_string = '' togle_not_bytes = False while i < (len(tekst)): if togle_not_bytes: - dcomp_arr.extend(tekst[i:i+num].decode('utf-8')) + dcomp_string += tekst[i:i+num].decode('utf-8') togle_not_bytes = False i += num else: @@ -23,13 +22,13 @@ def dcomp(): back_ref = -((value ^ 0xffff)+1) count = tekst[i+2:i+4] count = int.from_bytes(count, "little") - dcomp_arr.extend(dcomp_arr[back_ref:back_ref+ count]) + dcomp_string += dcomp_string[back_ref:len(dcomp_string)+back_ref+count] i += 4 else: togle_not_bytes = True num = value i+=2 - dcomp_string = ''.join(dcomp_arr) + return dcomp_string diff --git a/ov8/fil.txt b/ov8/fil.txt index 7bea535554882a13b018927bf6fb30663bcaa2c0..c377a654f297dcf537a10544c71b9c1d82bcc817 100644 --- a/ov8/fil.txt +++ b/ov8/fil.txt @@ -1,6 +1,21 @@ -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. +Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sollicitudin orci ac blandit mollis. Pellentesque nec dui accumsan, condimentum neque at, tempus libero. Morbi eleifend porta magna at tincidunt. Phasellus nisi ex, fermentum non dictum id, rutrum sit amet neque. Nulla id scelerisque nibh, sit amet ultricies dui. Praesent eget lacus ac velit faucibus viverra et sit amet turpis. Donec laoreet eu turpis non mattis. Etiam tincidunt sapien ac augue semper, at mollis lacus aliquam. Sed posuere dui arcu, eget volutpat odio malesuada sed. Morbi at tristique eros, sed luctus diam. Phasellus ut maximus erat. Pellentesque sed mi eget ligula ornare fringilla vitae a turpis. Ut commodo sollicitudin venenatis. Donec ut dictum velit, vel sollicitudin risus. -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; +Vestibulum sit amet massa cursus felis iaculis tempor id quis est. Sed blandit magna non orci pharetra cursus. Pellentesque ultrices ornare volutpat. Vivamus fermentum et nisl sit amet congue. Praesent quis nibh at dolor lobortis eleifend ut eget arcu. Proin vestibulum luctus est eu volutpat. Nam a risus quis arcu dictum volutpat. Integer ultricies mauris at rutrum bibendum. Curabitur consequat accumsan augue, id hendrerit sapien molestie et. Fusce vitae consequat eros. Pellentesque sodales est velit, luctus pretium ante faucibus a. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Vestibulum tristique et augue ac lobortis. Duis varius ultrices condimentum. +Nulla consectetur mi a eleifend sodales. Sed eget egestas eros, in ultrices ex. Ut sagittis mauris eu quam efficitur pharetra. Donec et gravida lacus, ac aliquam nunc. Nulla hendrerit lectus quis porttitor efficitur. Proin sodales orci quis lectus dignissim, ac pulvinar neque tincidunt. Sed ultricies, dui sit amet malesuada venenatis, augue lectus sodales nunc, vel iaculis sem risus ut metus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Ut elementum dapibus quam, id condimentum eros suscipit eget. Nullam in ultrices orci, a ullamcorper neque. Sed nunc nulla, luctus vel felis non, venenatis eleifend sem. Curabitur lobortis erat et pellentesque cursus. Aenean suscipit lorem non tortor venenatis, ac rutrum orci vulputate. Fusce faucibus justo sit amet massa rutrum, et cursus risus dapibus. Sed ullamcorper, eros eu sagittis dictum, tellus ante fringilla nibh, vitae scelerisque erat nisl ac tellus. -å \ No newline at end of file +Aenean eu ipsum rhoncus, imperdiet ex nec, laoreet lacus. Integer convallis posuere dignissim. Nunc placerat mi ultrices, suscipit erat sed, elementum lectus. Vestibulum diam mi, sodales vitae ornare in, tristique id risus. Mauris faucibus in massa nec interdum. Sed ac arcu et arcu vulputate ultricies. Mauris a iaculis purus. Nullam non euismod urna. Integer scelerisque, nunc quis bibendum porta, lacus mi porta tortor, id ultricies ligula erat dictum massa. Praesent pellentesque tortor justo, sit amet congue ipsum scelerisque vel. Phasellus in orci sit amet odio semper venenatis. Sed a vehicula tellus, ac condimentum tellus. Donec elit elit, elementum in metus at, iaculis condimentum urna. Cras tempor mi vel enim dictum, in porttitor erat consequat. In at velit mattis, consectetur mauris et, ultricies enim. + +Suspendisse eget feugiat diam. Sed porttitor malesuada commodo. Suspendisse potenti. Nunc metus enim, mattis non massa in, malesuada pretium nisl. Vivamus volutpat consectetur est, sit amet elementum ligula volutpat nec. Donec ac rhoncus diam, ut sodales tellus. Aenean ornare, ante tincidunt tempus imperdiet, urna sapien convallis velit, in tincidunt enim mi eu ex. Nulla mattis fringilla sem id elementum. Morbi cursus nunc id tempor viverra. In fringilla lorem quis rutrum interdum. Maecenas lorem purus, fermentum nec iaculis in, lobortis cursus nulla. Pellentesque molestie, odio eu rhoncus congue, diam libero volutpat elit, quis cursus sapien odio nec nisi. + +Quisque sodales hendrerit nulla sed scelerisque. Aenean ornare, ligula et ultrices malesuada, nulla augue vulputate est, eget iaculis enim magna sit amet sapien. Nam dictum leo ligula, quis maximus magna egestas eu. Donec tempus eros ut lorem pulvinar mattis. Maecenas posuere ex sapien, et porttitor est accumsan sit amet. Proin auctor mattis ante, ullamcorper porttitor ligula imperdiet vel. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Quisque quis est tempor, vestibulum enim sit amet, venenatis sem. + +Etiam a nisl nulla. Phasellus rutrum sed massa nec tristique. Donec auctor hendrerit quam, nec accumsan diam tempor id. Curabitur aliquet cursus tellus, et sagittis erat pellentesque quis. Nunc ac sollicitudin odio, ut sagittis libero. Praesent lobortis pulvinar finibus. Nunc vel quam et ex consectetur maximus vitae vitae dolor. Suspendisse congue aliquet felis, luctus molestie libero porta vitae. Nunc eu vehicula orci. Ut varius ut tellus a tempus. Quisque scelerisque commodo lorem sit amet convallis. Ut tempor aliquam metus, a posuere tortor tincidunt sed. + +Fusce fringilla vitae velit eu interdum. Suspendisse dictum cursus lorem, non feugiat orci posuere a. Suspendisse potenti. Curabitur imperdiet sapien et justo posuere hendrerit. Donec tincidunt, est et semper porttitor, sem sapien cursus erat, id pellentesque tortor dolor sit amet quam. Fusce dictum ut libero vel laoreet. Quisque eleifend egestas pharetra. Nam posuere accumsan gravida. Fusce eget dui eu felis semper hendrerit. Nam non fringilla orci. Morbi gravida leo quis ipsum dignissim, et commodo augue euismod. + +Suspendisse euismod id enim non blandit. Vivamus scelerisque volutpat massa, non tempus enim placerat nec. Proin at aliquet arcu. Curabitur commodo urna ut neque pretium, a scelerisque libero varius. Ut tempus mi vitae nunc ullamcorper molestie. Suspendisse sit amet varius tellus. Ut nulla nulla, pellentesque finibus diam sed, fermentum tincidunt lectus. Vestibulum in dignissim felis, sed mollis est. Maecenas eros dolor, pulvinar a ultrices ac, iaculis at lacus. Vivamus in tincidunt ligula. + +Pellentesque massa dolor, condimentum lacinia nibh at, condimentum interdum massa. Morbi a sollicitudin tortor. Aliquam malesuada nisl eu tortor interdum convallis. Vestibulum vitae facilisis neque, a consectetur magna. Vivamus eleifend sem enim, non varius justo volutpat sit amet. Curabitur ligula massa, cursus ac justo a, sagittis accumsan risus. In lobortis nisl nec lacus viverra, vel ullamcorper ante fermentum. Quisque viverra pulvinar porta. + +Cras metus tortor, aliquet quis pretium at, pharetra porta est. Aenean in eleifend eros, non elementum urna. Praesent ullamcorper, quam luctus tristique mollis, elit ipsum gravida diam, sed gravida ex dui eu sem. Curabitur fermentum, lacus ac volutpat accumsan, lectus libero facilisis magna, a. \ No newline at end of file diff --git a/ov8/uncomp b/ov8/uncomp index 7bea535554882a13b018927bf6fb30663bcaa2c0..c377a654f297dcf537a10544c71b9c1d82bcc817 100644 --- a/ov8/uncomp +++ b/ov8/uncomp @@ -1,6 +1,21 @@ -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. +Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sollicitudin orci ac blandit mollis. Pellentesque nec dui accumsan, condimentum neque at, tempus libero. Morbi eleifend porta magna at tincidunt. Phasellus nisi ex, fermentum non dictum id, rutrum sit amet neque. Nulla id scelerisque nibh, sit amet ultricies dui. Praesent eget lacus ac velit faucibus viverra et sit amet turpis. Donec laoreet eu turpis non mattis. Etiam tincidunt sapien ac augue semper, at mollis lacus aliquam. Sed posuere dui arcu, eget volutpat odio malesuada sed. Morbi at tristique eros, sed luctus diam. Phasellus ut maximus erat. Pellentesque sed mi eget ligula ornare fringilla vitae a turpis. Ut commodo sollicitudin venenatis. Donec ut dictum velit, vel sollicitudin risus. -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; +Vestibulum sit amet massa cursus felis iaculis tempor id quis est. Sed blandit magna non orci pharetra cursus. Pellentesque ultrices ornare volutpat. Vivamus fermentum et nisl sit amet congue. Praesent quis nibh at dolor lobortis eleifend ut eget arcu. Proin vestibulum luctus est eu volutpat. Nam a risus quis arcu dictum volutpat. Integer ultricies mauris at rutrum bibendum. Curabitur consequat accumsan augue, id hendrerit sapien molestie et. Fusce vitae consequat eros. Pellentesque sodales est velit, luctus pretium ante faucibus a. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Vestibulum tristique et augue ac lobortis. Duis varius ultrices condimentum. +Nulla consectetur mi a eleifend sodales. Sed eget egestas eros, in ultrices ex. Ut sagittis mauris eu quam efficitur pharetra. Donec et gravida lacus, ac aliquam nunc. Nulla hendrerit lectus quis porttitor efficitur. Proin sodales orci quis lectus dignissim, ac pulvinar neque tincidunt. Sed ultricies, dui sit amet malesuada venenatis, augue lectus sodales nunc, vel iaculis sem risus ut metus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Ut elementum dapibus quam, id condimentum eros suscipit eget. Nullam in ultrices orci, a ullamcorper neque. Sed nunc nulla, luctus vel felis non, venenatis eleifend sem. Curabitur lobortis erat et pellentesque cursus. Aenean suscipit lorem non tortor venenatis, ac rutrum orci vulputate. Fusce faucibus justo sit amet massa rutrum, et cursus risus dapibus. Sed ullamcorper, eros eu sagittis dictum, tellus ante fringilla nibh, vitae scelerisque erat nisl ac tellus. -å \ No newline at end of file +Aenean eu ipsum rhoncus, imperdiet ex nec, laoreet lacus. Integer convallis posuere dignissim. Nunc placerat mi ultrices, suscipit erat sed, elementum lectus. Vestibulum diam mi, sodales vitae ornare in, tristique id risus. Mauris faucibus in massa nec interdum. Sed ac arcu et arcu vulputate ultricies. Mauris a iaculis purus. Nullam non euismod urna. Integer scelerisque, nunc quis bibendum porta, lacus mi porta tortor, id ultricies ligula erat dictum massa. Praesent pellentesque tortor justo, sit amet congue ipsum scelerisque vel. Phasellus in orci sit amet odio semper venenatis. Sed a vehicula tellus, ac condimentum tellus. Donec elit elit, elementum in metus at, iaculis condimentum urna. Cras tempor mi vel enim dictum, in porttitor erat consequat. In at velit mattis, consectetur mauris et, ultricies enim. + +Suspendisse eget feugiat diam. Sed porttitor malesuada commodo. Suspendisse potenti. Nunc metus enim, mattis non massa in, malesuada pretium nisl. Vivamus volutpat consectetur est, sit amet elementum ligula volutpat nec. Donec ac rhoncus diam, ut sodales tellus. Aenean ornare, ante tincidunt tempus imperdiet, urna sapien convallis velit, in tincidunt enim mi eu ex. Nulla mattis fringilla sem id elementum. Morbi cursus nunc id tempor viverra. In fringilla lorem quis rutrum interdum. Maecenas lorem purus, fermentum nec iaculis in, lobortis cursus nulla. Pellentesque molestie, odio eu rhoncus congue, diam libero volutpat elit, quis cursus sapien odio nec nisi. + +Quisque sodales hendrerit nulla sed scelerisque. Aenean ornare, ligula et ultrices malesuada, nulla augue vulputate est, eget iaculis enim magna sit amet sapien. Nam dictum leo ligula, quis maximus magna egestas eu. Donec tempus eros ut lorem pulvinar mattis. Maecenas posuere ex sapien, et porttitor est accumsan sit amet. Proin auctor mattis ante, ullamcorper porttitor ligula imperdiet vel. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Quisque quis est tempor, vestibulum enim sit amet, venenatis sem. + +Etiam a nisl nulla. Phasellus rutrum sed massa nec tristique. Donec auctor hendrerit quam, nec accumsan diam tempor id. Curabitur aliquet cursus tellus, et sagittis erat pellentesque quis. Nunc ac sollicitudin odio, ut sagittis libero. Praesent lobortis pulvinar finibus. Nunc vel quam et ex consectetur maximus vitae vitae dolor. Suspendisse congue aliquet felis, luctus molestie libero porta vitae. Nunc eu vehicula orci. Ut varius ut tellus a tempus. Quisque scelerisque commodo lorem sit amet convallis. Ut tempor aliquam metus, a posuere tortor tincidunt sed. + +Fusce fringilla vitae velit eu interdum. Suspendisse dictum cursus lorem, non feugiat orci posuere a. Suspendisse potenti. Curabitur imperdiet sapien et justo posuere hendrerit. Donec tincidunt, est et semper porttitor, sem sapien cursus erat, id pellentesque tortor dolor sit amet quam. Fusce dictum ut libero vel laoreet. Quisque eleifend egestas pharetra. Nam posuere accumsan gravida. Fusce eget dui eu felis semper hendrerit. Nam non fringilla orci. Morbi gravida leo quis ipsum dignissim, et commodo augue euismod. + +Suspendisse euismod id enim non blandit. Vivamus scelerisque volutpat massa, non tempus enim placerat nec. Proin at aliquet arcu. Curabitur commodo urna ut neque pretium, a scelerisque libero varius. Ut tempus mi vitae nunc ullamcorper molestie. Suspendisse sit amet varius tellus. Ut nulla nulla, pellentesque finibus diam sed, fermentum tincidunt lectus. Vestibulum in dignissim felis, sed mollis est. Maecenas eros dolor, pulvinar a ultrices ac, iaculis at lacus. Vivamus in tincidunt ligula. + +Pellentesque massa dolor, condimentum lacinia nibh at, condimentum interdum massa. Morbi a sollicitudin tortor. Aliquam malesuada nisl eu tortor interdum convallis. Vestibulum vitae facilisis neque, a consectetur magna. Vivamus eleifend sem enim, non varius justo volutpat sit amet. Curabitur ligula massa, cursus ac justo a, sagittis accumsan risus. In lobortis nisl nec lacus viverra, vel ullamcorper ante fermentum. Quisque viverra pulvinar porta. + +Cras metus tortor, aliquet quis pretium at, pharetra porta est. Aenean in eleifend eros, non elementum urna. Praesent ullamcorper, quam luctus tristique mollis, elit ipsum gravida diam, sed gravida ex dui eu sem. Curabitur fermentum, lacus ac volutpat accumsan, lectus libero facilisis magna, a. \ No newline at end of file