Reading, searching, counting, splitting, writing files bitwise

Este projeto recebeu 13 ofertas de freelancers talentosos com uma oferta média de preço de $79 USD.

Obtenha orçamentos gratuitos para um projeto como este
$30 - $100 USD
Total de Ofertas
Descrição do Projeto

this task is part of a project that encodes and decodes data

that contain sequences of arbitrary length, but using only two symbols.

This involves reading data bitwise from a file, that can be binary or text,

splitting it into subsequences, counting these, and putting them together again.

The code can be written in C++/C, Java or in a scripting language, such as Lua, or Ruby, provided that your implementation is fast and that it can be run on PC as well as mobile phone operating systems.

## Deliverables

This task is part of a project that encodes and decodes data

that contain sequences of arbitrary length, but using only two symbols.

I require some code that can

(1) read in both binary and text data from a file, interpreting it as a sequence of bits rather than bytes, and

(2) then counts all subsequences of given length, and

(3) splits the text up into those subsequences, and

(4) is able to put together the original text from those subsequences.

In more, I need the following:

(1) If,e.g., there's a file that's encoded in ASCII format, containing just the letter "A",

the code to be written would read it in as the bit sequence "1000001" (the binary

encoding of 65; endianness is not an issue).

(2) The subsequences in the example above of length 2 are 4 subsequences of type "00", one subsequence of type "10" and one subsequence of type "01".

The code must provide for subsequences of any length up the length of the original sequence, which is arbitrary (and typically

very long).

(3) A split-up into subsequences of length 3 would be an Array-like structure like this ["100","000","001"] (the in-between zero-substrings

should be skipped; see below in (4)). But I want also to be able to use subsequences of different length to be usable. So, I need another function/method that gets an Array of subsequences

as arguments, and searches the input file for all these subsequences, starting from the longest. So, if the subsequences to be searched for are

["00000","10","01"], the split-up would be ["10","00000","01"]. It may occur that such a split-up is not unique, e.g.,

for a subsequence set ["000","10","001","00"], both ["10","00","000","001"], and ["10","000","00","001"] are valid split-ups. Therefore, I need an

Array of all valid split-ups.

(4) Putting together the sequence from a split-up means concatenate all the bits, such that in all but the first entry of the split-up, the first bit is ignored,

i.e., split-up ["10","00","000","001"] -> ["10","D0","D00","D01"]->"10+0+00+01"->"1000001" . ("D" mark the bits that are ignored, "+" stands for concatenation.

All this code should be written in a language such that it is fast and runs on a large variety of PC and mobile phone operating systems. I'd prefer C++/C, but I am open to Java or scripting languages such as Lua or Ruby. Please state what language you would be using in your bid.

Afim de ganhar algum dinheiro?

  • Defina seu orçamento e o prazo de entrega
  • Sublinhe sua proposta
  • Receba pelo seu trabalho

Contratar freelancers que também ofereça neste projeto

    • Forbes
    • The New York Times
    • Time
    • Wall Street Journal
    • Times Online