[2 days left] What’s wrong with your cloud strategy? Learn why multicloud solutions matter with Nimble Storage.Register Now

x
?
Solved

Converting a binary text file to ASCII

Posted on 2006-06-29
11
Medium Priority
?
367 Views
Last Modified: 2011-04-14
Hi there,

I am have successfully coded a ftp file transfer of METAR information from the NOAA server.  The information is in the format of a text file as follows:

2006/06/29 23:54
KRSP 292354Z AUTO 29007KT 260V340 10SM FEW080 21/14 A3005 RMK AO2 SLP171 T02060144 10261 20206 55002 $

2006/06/29 23:45
K47A 292345Z AUTO 00000KT 10SM CLR 28/12 A3011 RMK AO2

2006/06/29 23:45
KGTR 292345Z 01006KT 10SM CLR 33/14 A3006

2006/06/29 23:45
KCJR 292345Z AUTO 00000KT 10SM CLR 25/19 A3001 RMK AO2

Unfortunately when I've downloaded it it has not come down in ASCII format and so the file now loads, in Notepad, as follows:

2006/06/29 23:54KRSP 292354Z AUTO 29007KT 260V340 10SM FEW080 21/14 A3005 RMK AO2 SLP171 T02060144 10261 20206 55002 $2006/06/29 23:45K47A 292345Z AUTO 00000KT 10SM CLR 28/12 A3011 RMK AO22006/06/29 23:45KGTR 292345Z 01006KT 10SM CLR 33/14 A30062006/06/29 23:45KCJR 292345Z AUTO 00000KT 10SM CLR 25/19 A3001 RMK AO2

I need an easy way to get this file back to the format that it should be in with the correct spaces between the lines.   Any ideas please?  I am programming in Visual Basic .net 2005.

--
Ady
0
Comment
Question by:Ady Foot
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 3
  • 3
11 Comments
 
LVL 30

Expert Comment

by:callrs
ID: 17015065
Try metapad http://www.liquidninja.com/metapad/
It automatically deletes NUL characters. If file has other binary characters & so still won't show right, let me know.
0
 
LVL 16

Author Comment

by:Ady Foot
ID: 17015083
Yes - the issue is with carriage return line feeds.  That is to say, as I copied and pasted, that line spacings are the only things missing from my downloaded file.  I think I somehow need to open the file, replace the binary characters with ascii ones, and rewrite to file.

Any further ideas?
0
 
LVL 16

Author Comment

by:Ady Foot
ID: 17015084
Also - whatever needs to be done to the file to get it in the right format needs to be done programatically.
0
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
LVL 30

Expert Comment

by:callrs
ID: 17015091
>>It automatically deletes NUL characters
I meant it replaces them with returns

http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=1646&lngWId=8     ASCII to BINARY and visa-versa - PHP
References this tool:
http://nickciske.com/tools/binary.php     NickCiske.com | Binary- it's digitalicious!
Try that...
0
 
LVL 16

Author Comment

by:Ady Foot
ID: 17015095
Yeah - thanks but I need something in VB.net 2005 to do this.  Thanks for your help anyway though.
0
 
LVL 30

Expert Comment

by:callrs
ID: 17015101
Disregard the last two links. IT's totally different.
Here's another way: just write a simple program to analyze the file & convert the squares to returns.
0
 
LVL 30

Expert Comment

by:callrs
ID: 17015116
See my example at
http://www.experts-exchange.com/Miscellaneous/Q_21857442.html     Miscellaneous: A little spacy

The template & program is all there & working. All you need to do is open your file in a HEX editor, and see which ASCII codes need to be replaced. Then make a slight change to my VS C++ program & you're done. : )
0
 
LVL 22

Accepted Solution

by:
cookre earned 2000 total points
ID: 17015166
I believe the NOAA FTP data uses a single LF character as its line break instead of the CR/LF that we're used to.

Regardless, .NET can deal with that if you get the response as a stream file then do ReadLines().

I know this isn't VB, but it's something I did a few months back and the conversion to VB should be easy.
(I'm presuming they haven't changed their formatting in the past 6 months)


// Get the observations
string URI="ftp://weather.noaa.gov/data/observations/metar/decoded/"+Stations[idx-1,2]+".TXT";
FtpWebRequest  ftpreq  = (FtpWebRequest)  WebRequest.Create(URI);
 FtpWebResponse ftpresp = (FtpWebResponse) ftpreq.GetResponse();
Stream         fsobs   =                  ftpresp.GetResponseStream();

StreamReader srobs=new StreamReader(fsobs);
string obs="";
for (int obsidx=0; obsidx<11; obsidx++)
    {
    obs=srobs.ReadLine();
    ...
0
 
LVL 22

Expert Comment

by:cookre
ID: 17015217
And yes, I was getting mine from DECODED (hence, my reading up to 11 lines)  and yours, I presume, is from CYCLES, but the idea is the same.
0
 
LVL 30

Expert Comment

by:callrs
ID: 17015379
If it's simply a case of CRLF being replaced with LF, then metapad can convert that instantly!

In Metapad:  Options -> Settings -> Advanced > Default file format ->

Shows choice of: DOS Text, UNIX Text, Unicode, Unicode BE

Simply change a setting & reload your file.
0
 
LVL 22

Expert Comment

by:cookre
ID: 17015423
The point here is why bother with a separate conversion when .NET can handle it with a GetResponseStream() and ReadLine()?

Shoot, even good ole straight C could deal with it with a simple t-mode fopen().
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Although it can be difficult to imagine, someday your child will have a career of his or her own. He or she will likely start a family, buy a home and start having their own children. So, while being a kid is still extremely important, it’s also …
Q&A with Course Creator, Mark Lassoff, on the importance of HTML5 in the career of a modern-day developer.
In this fifth video of the Xpdf series, we discuss and demonstrate the PDFdetach utility, which is able to list and, more importantly, extract attachments that are embedded in PDF files. It does this via a command line interface, making it suitable …
Simple Linear Regression

656 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question