Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6039771
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 23, 20262026-05-23T06:25:05+00:00 2026-05-23T06:25:05+00:00

I’m using code that someone else wrote to load a file format that I

  • 0

I’m using code that someone else wrote to load a file format that I can’t find any docs or specs for. The file format is *.vpd which is the output of varioport readers used for EKG’s.

It reads out 4 bytes for the time and 4 bytes for the date and are each stored in a 4 element array. In a test file I have, the 4 time bytes are { 19, 38, 3, 0 } and the 4 date bytes are { 38, 9, 8, 0 }. It could also be a 32-bit int, and the guy who wrote this is reading it wrong. Judging by the trailing 0 on both, I would assume little endian in which case the values of time and date as int32’s are 206355 and 526630 respectively.

Do you know of any time/date formats that are expressed in 4 bytes (or a single int)? I’m hopelessly lost at the moment.

EDIT: I should add that I don’t know what the values could be, apart from that the date is likely to be within the last few years.

The code, there are no comments associated with it.

s.Rstime        = fread(fid, 4, 'uint8'); 
s.Rsdate        = fread(fid, 4, 'uint8');
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-23T06:25:06+00:00Added an answer on May 23, 2026 at 6:25 am

    In the Varioport VPD file format, BCD (binary coded decimal) code is used for date and time. You had no chance to guess this, because the fread calls you posted are obviously nonsense. You are reading at the wrong places.

    Try this in C/C++ (matlab code will look very similar):

    typedef struct
    {
        int channelCount;
        int scanRate;
        unsigned char measureDate[3];
        unsigned char measureTime[3];
        ...
    } 
    VPD_FILEINFO;
    
    ...
    
    unsigned char threeBytes[3];
    size_t itemsRead = 0;
    
    errno_t err = _tfopen_s(&fp, filename, _T("r+b")); 
    // n.b.: vpd files have big-endian byte order!
    
    if (err != 0)
    {
        _tprintf(_T("Cannot open file %s\n"), filename);
        return false;
    }
    
    // read date of measurement
    fseek(fp, 16, SEEK_SET);
    itemsRead = fread(&threeBytes, 1, 3, fp);
    
    if (itemsRead != 3)
    {
        _tprintf(_T("Error trying to read measureDate\n"));
        return false;
    }
    else
    {
        info.measureDate[0] = threeBytes[0]; // day, binary coded decimal
        info.measureDate[1] = threeBytes[1]; // month, binary coded decimal
        info.measureDate[2] = threeBytes[2]; // year, binary coded decimal
    }
    
    // read time of measurement
    fseek(fp, 12, SEEK_SET);
    itemsRead = fread(&threeBytes, 1, 3, fp);
    
    if (itemsRead != 3)
    {
        _tprintf(_T("Error trying to read measureTime\n"));
        return false;
    }
    else
    {
        info.measureTime[0] = threeBytes[0]; // hours, binary coded decimal
        info.measureTime[1] = threeBytes[1]; // minutes, binary coded decimal
        info.measureTime[2] = threeBytes[2]; // seconds, binary coded decimal
    }
    
    ...
    
    _tprintf(_T("Measure date == %x %x %x\n"), 
             info.measureDate[0], 
             info.measureDate[1], 
             info.measureDate[2]);
    
    _tprintf(_T("Measure time == %x %x %x\n"), 
             info.measureTime[0], 
             info.measureTime[1], 
             info.measureTime[2]);
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm new to using the Perl treebuilder module for HTML parsing and can't figure
I ran into a problem. Wrote the following code snippet: teksti = teksti.Trim() teksti
That's pretty much it. I'm using Nokogiri to scrape a web page what has
I'm parsing an RSS feed that has an ’ in it. SimpleXML turns this
We are using XSLT to translate a RIXML file to XML. Our RIXML contains
link Im having trouble converting the html entites into html characters, (&# 8217;) i
I want use html5's new tag to play a wav file (currently only supported
Seemingly simple, but I cannot find anything relevant on the web. What is the
Does anyone know how can I replace this 2 symbol below from the string
I'm making a simple page using Google Maps API 3. My first. One marker

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.