this post was submitted on 16 Nov 2023
30 points (94.1% liked)

Linux

48200 readers
871 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
30
Reading .mcn files? (lemmy.world)
submitted 1 year ago* (last edited 1 year ago) by EuroNutellaMan@lemmy.world to c/linux@lemmy.ml
 

Hello y'all,

I need to get some information out of a .mcn file that is used by the Cary WinUV program (for windows XP), I know the file contains the info we're looking for but it's not readable on a text editor as per screenshot (the same thing appears via OSS - code and cat). Same for Nano which gives me a lot of tiny amongi.

Cary WinUV for some reason doesn't display the information we want, who know what they were thinking.

Anyone know a way to read the characters missing?

EDIT: Thanks everyone, I solved by saving it into csv through Cary WinUV but that may not work for everyone so thanks for all the replies

all 9 comments
sorted by: hot top controversial new old
[–] AJamesBrown@aussie.zone 27 points 1 year ago

It looks like it's in a binary format and is printing control characters because it isn't a format intended to be viewed/edited. You could try opening it in a hex editor and see if you can make any sense from that.

[–] TheOneCurly@lemmy.theonecurly.page 11 points 1 year ago* (last edited 1 year ago)

Doing this by hand is challenging but possible.

First you need a hex editor, not a text editor. xxd on linux will get you started but you might want something a little more user friendly.

Then look for a label for a value you know, xxd and other hex editors will show ascii text on the side. Hopefully you'll be able to identify the value (in hexadecimal, probably 4 bytes but could be 1, 2, or 8 as well) somewhere before or after the label. You might have to get familiar with endianness, two's compliment, and binary floating point before the numbers make sense.

Once you know how to read a value after a label you'll need to find some label for the information you don't know. If it isn't displayed in the program it might not have a super readable label.

[–] cerement@slrpnk.net 5 points 1 year ago* (last edited 1 year ago)
  • hexdump comes stock with most distros, no editing features, but hexdump -C filename will at least let you see what’s in the file
  • from control characters and control codes, it looks like everything is separated by a set of three NUL characters (\00 in first screenshot or ^@ in the nano screenshot)
    • EDIT: so the field names are three NUL characters, text for the name, and SOH (^A) terminating the field name – then a padded line for the field values (values are probably meant to be fixed length)
  • if you don’t find anything more convenient, as a last resort, you can turn to perl and sed, they were originally designed for situations like this, trying to get meaningful data out of disparate file formats
[–] RaumEnde@feddit.de 4 points 1 year ago

Use a hex editor to read binary files. I recommend ImHex https://imhex.werwolv.net/ because it includes all sorts of advanced analysis stuff.

[–] Hannes1909@kbin.social 4 points 1 year ago

Maybe strings can get some usefull output too?

[–] mvirts@lemmy.world 2 points 1 year ago

Can you provide the file on GitHub or something?