read a file upto certain character

5 次查看(过去 30 天)
Hello I have a file which contains 1342400 bits means 10101010010......like this way,
I need to read this file upto 1341440 bits ,how to do so?
after this I need to take chunk of 8bit from this bit sequence and have to convert it in decimal value,separated by ,
like 11111111111111111111111.... i need to convert it in 255,255,255 this way
any help for my two queries
  2 个评论
José-Luis
José-Luis 2013-1-15
编辑:José-Luis 2013-1-15
fread will do that for you. You could read your data as uint8, and avoid transforming between binary and decimal. Is this homework?
joy
joy 2013-1-15
can u give some commands so that i can understand how fread works in certain way

请先登录,再进行评论。

采纳的回答

tusu
tusu 2013-1-16
Joy
What u can do is...say ur given data set is in a file name test.txt where it has 26 characters..
do the following
txt=filered(test.txt);% now txt variable has all ur 26 chars,but u need first 16
so
new_txt=txt(1:16);
simple

更多回答(2 个)

Image Analyst
Image Analyst 2013-1-15
fread() can do that for a binary file. Is it a binary file or a text file?
  2 个评论
joy
joy 2013-1-15
its a tex file with .txt extension
Image Analyst
Image Analyst 2013-1-15
Use fgetl() to get a line of text. Then use bin2dec() to turn a chunk of that text into a number.

请先登录,再进行评论。


José-Luis
José-Luis 2013-1-15
The documentation has examples that illustrate how fread() works. Here is a (rather pointless) example of how to read a file bit by bit and then transforming those bits into uint8, which is what you are trying to achieve, if I understood your question right. I insist that it is much better to read directly as uint8
fid = fopen('your_file.txt','r');
numBits = 800; %multiple of 8, in this case it means the first 100 characters
your_vals = reshape(fread(fid,800,'ubit1'),[],8);
fclose(fid);
your_ascii_number = sum(bsxfun(@times,your_vals,2.^(7:-1:0)),2);
  5 个评论
José-Luis
José-Luis 2013-1-16
So the ones were characters, not bits.
Image Analyst
Image Analyst 2013-1-16
That's what I thought, hence my suggestion to use bin2dec().

请先登录,再进行评论。

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by