What is the letter meaning in XYDATA of JCAMP-DX (NMR) files?

365 views Asked by At

I've been downloading some JCAMP-DX format files of HNMR (proton nuclear magnetic resonance) spectra, however I can't seem to parse the files. I tried a Python library, but I found it wouldn't read my files. I also tried getting a clearer picture from some documentation, however it did not clarify what is confusing me.

Okay, so here is the issue. The ##XYDATA has letters (and sometimes other characters like @) among the what should be the data points, and I don't know what that means. Here is an example line from a file illustrating this problem (I've bolded the unusual characters):

-227.8b6764b6121b6335b4194b8691a8842b5265b5693a9270b1411b4623b3552c0618\r\n

Centrally my question is this: how do I understand/parse the letters in the example line of data?

UPDATES:

I found that there is some more information about the letters as a compression format, but I am unsure I fully understand the map.

I tried these maps, but I don't see anything resembling a delimiter to distinguish x and y values.

positive_SQZ_digits = {'@':'0', 'A':'1', 'B':'2', 'C':'3', 'D':'4', 'E':'5', 'F':'6', 'G':'7', 'H':'8', 'I':'9'}
negative_SQZ_digits = {' ':'0', 'a':'1', 'b':'2', 'c':'3', 'd':'4', 'e':'5', 'f':'6', 'g':'7', 'h':'8', 'i':'9'}
positive_DIF_digits = {'%':'0', 'J':'1', 'K':'2', 'L':'3', 'M':'4', 'N':'5', 'O':'6', 'P':'7', 'Q':'8', 'R':'9'}
negative_DIF_digits = {' ':'0', 'j':'1', 'k':'2', 'l':'3', 'm':'4', 'n':'5', 'o':'6', 'p':'7', 'q':'8', 'r':'9'}
positive_DUP_digits = {' ':'0', 'S':'1', 'T':'2', 'U':'3', 'V':'4', 'W':'5', 'X':'6', 'Y':'7', 'Z':'8', 's':'9'}
0

There are 0 answers