Hi JB,
You wont be able to open it in a text editor... its saved as binary - the actual bytes rather than an ASCII representation of those numbers.
Each byte (value 0-255) in a TEXT file represents one character. So a file containing the string "123", consists of 3 bytes of value: 49,50 and 51, which represent the characters 1,2 and 3 (see http://www.asciitable.com/)
If we write the single byte value 123 to a file we get a file which consists of 1 byte of data, value 123. But if we view this as TEXT we will see only 1 character, a { in this case, which is represented by the value 123. Which is why you are seeing funny characters, as a lot of the ASCII set is symbols and other weird stuff!
I will add a writeString() function to the library, but I think you would probably have trouble converting your byte's and int's to a string, I did look into this briefly (something to do with stdio.h, sprintf() and bigger code!) but quickly decided I will stick to writing values not strings to the file.
I wrote a simple PHP script that converts the raw data into a CSV. What operating system are you using? I can share this with you, and help you with it if your on Mac or Linux, but wouldn't be able to help so much if on Windows.
I understand you want relatively user-friendly access to your data. This conversion process could be packaged into a single command or double clickable file, data.bin goes in, data.csv comes out.
It seems you are at a bit of a fork in the road, and I am not sure the best route for you. What does everyone else think? I thought string manipulation looked a little tricky in Arduino/C. I've only had my Arduino a few weeks, also I am more used to PHP/Java/BASH. Is this conversion a sensible trade-off for avoiding strings in this case?
If you were writing lots of data, and fast, you would most certainly want to write byte values rather than ASCII strings, as this will keep file sizes much smaller and reduce the amount of time spent writing to the card (exactly what I need).
In your case trying to figure out this string thing (its actually an array of chars) might be an idea.
Let me know which route you choose.
I will add the writeString() function. Can anyone link us to any good tutorials on strings and sprintf?