Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
226 views
in Technique[技术] by (71.8m points)

Python 3 - decode spectroscopy data (Base64, IEEE754)

I'm a chemist and working with spectroscopic data that was stored as a list (501 pairs of X,Y data) of Base64-encoded floating point values according to IEEE754.

I tried to get an array of X, Y data to work with from the raw data but failed. Attached is the raw data of a spectrum.

May I please ask for your guidance/help on this topic? I'm lost, Chris

0x000000000080714000000000009071400000000000A071400000000000B071400000000000C071400000000000D071400000000000E071400000000000F0714000000000000072400000000000107240000000000020724000000000003072400000000000407240000000000050724000000000006072400000000000707240000000000080724000000000009072400000000000A072400000000000B072400000000000C072400000000000D072400000000000E072400000000000F0724000000000000073400000000000107340000000000020734000000000003073400000000000407340000000000050734000000000006073400000000000707340000000000080734000000000009073400000000000A073400000000000B073400000000000C073400000000000D073400000000000E073400000000000F0734000000000000074400000000000107440000000000020744000000000003074400000000000407440000000000050744000000000006074400000000000707440000000000080744000000000009074400000000000A074400000000000B074400000000000C074400000000000D074400000000000E074400000000000F0744000000000000075400000000000107540000000000020754000000000003075400000000000407540000000000050754000000000006075400000000000707540000000000080754000000000009075400000000000A075400000000000B075400000000000C075400000000000D075400000000000E075400000000000F0754000000000000076400000000000107640000000000020764000000000003076400000000000407640000000000050764000000000006076400000000000707640000000000080764000000000009076400000000000A076400000000000B076400000000000C076400000000000D076400000000000E076400000000000F0764000000000000077400000000000107740000000000020774000000000003077400000000000407740000000000050774000000000006077400000000000707740000000000080774000000000009077400000000000A077400000000000B077400000000000C077400000000000D077400000000000E077400000000000F0774000000000000078400000000000107840000000000020784000000000003078400000000000407840000000000050784000000000006078400000000000707840000000000080784000000000009078400000000000A078400000000000B078400000000000C078400000000000D078400000000000E078400000000000F0784000000000000079400000000000107940000000000020794000000000003079400000000000407940000000000050794000000000006079400000000000707940000000000080794000000000009079400000000000A079400000000000B079400000000000C079400000000000D079400000000000E079400000000000F079400000000000007A400000000000107A400000000000207A400000000000307A400000000000407A400000000000507A400000000000607A400000000000707A400000000000807A400000000000907A400000000000A07A400000000000B07A400000000000C07A400000000000D07A400000000000E07A400000000000F07A400000000000007B400000000000107B400000000000207B400000000000307B400000000000407B400000000000507B400000000000607B400000000000707B400000000000807B400000000000907B400000000000A07B400000000000B07B400000000000C07B400000000000D07B400000000000E07B400000000000F07B400000000000007C400000000000107C400000000000207C400000000000307C400000000000407C400000000000507C400000000000607C400000000000707C400000000000807C400000000000907C400000000000A07C400000000000B07C400000000000C07C400000000000D07C400000000000E07C400000000000F07C400000000000007D400000000000107D400000000000207D400000000000307D400000000000407D400000000000507D400000000000607D400000000000707D400000000000807D400000000000907D400000000000A07D400000000000B07D400000000000C07D400000000000D07D400000000000E07D400000000000F07D400000000000007E400000000000107E400000000000207E400000000000307E400000000000407E400000000000507E400000000000607E400000000000707E400000000000807E400000000000907E400000000000A07E400000000000B07E400000000000C07E400000000000D07E400000000000E07E400000000000F07E400000000000007F400000000000107F400000000000207F400000000000307F400000000000407F400000000000507F400000000000607F400000000000707F400000000000807F400000000000907F400000000000A07F400000000000B07F400000000000C07F400000000000D07F400000000000E07F400000000000F07F40000000000000804000000000000880400000000000108040000000000018804000000000002080400000000000288040000000000030804000000000003880400000000000408040000000000048804000000000005080400000000000588040000000000060804000000000006880400000000000708040000000000078804000000000008080400000000000888040000000000090804000000000009880400000000000A080400000000000A880400000000000B080400000000000B880400000000000C080400000000000C880400000000000D080400000000000D880400000000000E080400000000000E880400000000000F080400000000000F88040000000000000814000000000000881400000000000108140000000000018814000000000002081400000000000288140000000000030814000000000003881400000000000408140000000000048814000000000005081400000000000588140000000000060814000000000006881400000000000708140000000000078814000000000008081400000000000888140000000000090814000000000009881400000000000A081400000000000A881400000000000B081400000000000B881400000000000C081400000000000C881400000000000D081400000000000D881400000000000E081400000000000E881400000000000F081400000000000F88140000000000000824000000000000882400000000000108240000000000018824000000000002082400000000000288240000000000030824000000000003882400000000000408240000000000048824000000000005082400000000000588240000000000060824000000000006882400000000000708240000000000078824000000000008082400000000000888240000000000090824000000000009882400000000000A082400000000000A882400000000000B082400000000000B882400000000000C082400000000000C882400000000000D082400000000000D882400000000000E082400000000000E882400000000000F082400000000000F88240000000000000834000000000000883400000000000108340000000000018834000000000002083400000000000288340000000000030834000000000003883400000000000408340000000000048834000000000005083400000000000588340000000000060834000000000006883400000000000708340000000000078834000000000008083400000000000888340000000000090834000000000009883400000000000A083400000000000A883400000000000B083400000000000B883400000000000C083400000000000C883400000000000D083400000000000D883400000000000E083400000000000E883400000000000F083400000000000F88340000000000000844000000000000884400000000000108440000000000018844000000000002084400000000000288440000000000030844000000000003884400000000000408440000000000048844000000000005084400000000000588440000000000060844000000000006884400000000000708440000000000078844000000000008084400000000000888440000000000090844000000000009884400000000000A084400000000000A884400000000000B084400000000000B884400000000000C084400000000000C884400000000000D084400000000000D884400000000000E084400000000000E884400000000000F084400000000000F88440000000000000854000000000000885400000000000108540000000000018854000000000002085400000000000288540000000000030854000000000003885400000000000408540000000000048854000000000005085400000000000588540000000000060854000000000006885400000000000708540000000000078854000000000008085400000000000888540000000000090854000000000009885400000000000A085400000000000A885400000000000B085400000000000B885400000000000C085400000000000C885400000000000D085400000000000D885400000000000E085400000000000E885400000000000F085400000000000F88540000000000000864000000000000886400000000000108640000000000018864000000000002086400000000000288640000000000030864000000000003886400000000000408640000000000048864000000000005086400000000000588640000000000060864000000000006886400000000000708640000000000078864000000000008086400000000000888640000000000090864000000000009886400000000000A086400000000000A886400000000000B086400000000000B886400000000000C086400000000000C886400000000000D086400000000000D886400000000000E086400000000000E886400000000000F086400000000000F88640000000000000874000000000000887400000000000108740000000000018874000000000002087400000000000288740000000000030874000000000003887400000000000408740000000000048874000000000005087400000000000588740000000000060874000000000006887400000000000708740000000000078874000000000008087400000000000888740000000000090874000000000009887400000000000A087400000000000A887400000000000B087400000000000B887400000000000C087400000000000C887400000000000D087400000000000D887400000000000E087400000000000E887400000000000F087400000000000F887400000000000008840000000000008884000000000001088400000000000188840000000000020884000000000002888400000000000308840000000000038884000000000004088400000000000488840000000000050884000000000005888400000000000608840E90DB26F2B0459401CD1C2D8EE08594028BE2699EA07594023E587BC5F01594018E2E8565DFE58400BBE704182FF584085847BBB40005940032871E9680059409104E40892015940396075E484025940717742C93D025940DB2B480E4A0159406C4A82549B0059402D860198DB0059400B36F01223025940266650EE03045940BAA9CBF83C065940B514EE6EBF055940C2987EE8B202594069905376D30159401F60F42F78035940A3BCA3531004594074E36167250359405F9DBEA786045940ABAD3BDC7E065940C73E2DC388035940D07E80C9D6FF5840C643CDAB3D015940A5143BDCE40359409A9DE3688003594076B063863503594028F870406F0459407ED119DA190459400F4EECF2D00159403AE24F25310159400D6A13175D02594032327741EA015940D3BD24386EFE584064C74911B0FC584082536D2CC9FF58405CFD2F8C74035940048733AE4B0459401B19F5F9EE045940AE8FD2DB78065940EAC49DCEF2075940E65B1DCDBD085940D6D356263A07594042F0FE07400559409607A9ACD2035940EF48E639E10459409E71CF29590759402522CCDDF8045940BD59E354FCFF5840BF381A57810059407D54898630065940A0DEF13F60085940868D92D2100459401C2CB6EF7EFF5840AF1907A12D005940D64033C75A0459409A4BAB1F9B085940C64D7140A20A59401E6B6E904808594096C0DC7FBD045940BE0B4F830B035940407994689A0359407D4E3139A302594002C60D6CA8005940E3992637B400594052FD61072F0059404EB399D8440059403B7A4F5C7803594015F60340BD045940841B4115C3045940B1D429C7900659405CDA51002C0559403BD04964520159406D9AB6532C025940C6B1F1686D065940FB09002A1408594030857E016806594027E8B2C1BC0259407D175F8E91FF584083773EAB1BFD58403160C309F2FC5840FEDA37B632FF5840164CFA0387015940AD91AD71EE0059403D7C873001FF58400FD45630970159406CBA2F39AB065940DAC424D09307594012CB4F1597045940BCC13CC19B0159407768AFBA8F005940AC78BD7134FF584080AE0ECD90FD58402EE5C27A0CFC5840912A01F0D0FF5840E04608E6650459406D2D9ED575015940DD3FF333D9FC5840DE025FDF7CFE584058D9261802005940B4F9D12FBCFC5840B2C773B785FC5840E4F14CE6910159408CEF214140045940B832A6F42D035940B7581356B70259403FD67DD578025940BE315F35A20259409C4B045D26025940B84BBBA0300259404BF5C876E1005940369756F7D2FD5840A5667F87B3F95840E0F0713943F65840138E166B36F85840484A2E3877FD5840BD8D8137DD005940FD97DE714D0459401FC0F0690E08594023E5D2CF00085940A1773591770459409B22C28DB801594069A812C3DB0059409C93D493970159409D56AE6A72035940AE62A0AB170459405D038D6BD7025940CC9F86F41C045940B9F1538CA40859406179AB465E0859403743669104035940BFA095997E00594048FD0E3C5A015940FF5EADC5AF0159408A488CBD0F0159400A8566B91D015940A65939D558015940846287EB7D01594010ACE303DC0159404CC06DF7B4025940747CE6A0F50259403DEC11A5820259405AB51B603803594029CF7487A10359408F111FBB410259405B6CD0B4DA015940DE6DF9DA73025940545B001A98015940CC383F016CFF58403546A0EB04FE58407276F0E475FF58407CD1F8E173025940E6AB4284560359403E8125025A0259402480A43175FF5840677F3B20FFFE584021B92D2318015940969942D26D01594062AACC75E5FF5840F3AFB1A682FD5840897E16E0DAFD58401CB5029721005940CA5C2D2AD30059405664A57476FF5840D0374D321CFF5840A15C6C7DB0005940199D9D35B7015940D1FE9A73B2015940D857794EF2015940C8A8B0236F02594009F24F8A66015940029757A10DFF5840E103CEE454FE5840A0BEB5A9C9FE584050E36F7E12FE5840A1C89E077FFC5840886B5F081DFF58405BDFEC13E70159408B44DBA7A9015940FD82E1E96C0259406632D8AFC00459407F6075231604594052212691410159409950D5D50B015940D779A9B94A0359402BFFAD76D3035940B4B51690FE015940B59D1C130FFE5840E5CEB48F2EF95840F3CD26D487F75840502BDB1C9DF858404A4B5B2232FB5840AB250D3E64FF5840EFDB570BE80359408220214AB70559401942CD322C065940182EAB6E910359404A14444273FF58405B5CDDC2E6FF5840C06333B8AA0259408AAAA6444E035940D01868B4250259403C2776AA44025940F0ECB7B729035940EA47FB09E6025940C91EFF01C4015940AFE3AFA22D0159400204056766015940B4D0DB73CB01594021BA9D646301594044B35B219D0259404A2F59C0A6055940AF7C8CC57E0A59407EA957C58E0759402B72C9A860005940D4E3584306015940CA81B16537045940BBE6C93AC1025940A9149196C0FD58403


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

The data appears to be IEEE-754 basic 64-bit binary floating-point shown in little-endian hexadecimal.

I am not experienced enough with Python to write a converter easily, so I converted with C. The converted data is below. It looks like 501 values for X (or Y) followed by 501 values for Y (or X).

280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
100.0651511420070534086335101164877414703369140625
100.13957804703790088751702569425106048583984375
100.1236937406871447819867171347141265869140625
100.0214682890987631935786339454352855682373046875
99.9744469904184143160819076001644134521484375
99.9923251725196422512453864328563213348388671875
100.0039509493090719161045853979885578155517578125
100.0064033131639433804593863897025585174560546875
100.0245382525192923139911727048456668853759765625
100.0393611093758323704605572856962680816650390625
100.0350211285674646433108136989176273345947265625
100.0201450066373780600770260207355022430419921875
100.00948059772207443529623560607433319091796875
100.0134029402622246607279521413147449493408203125
100.0333907457171989108246634714305400848388671875
100.062739923967995991915813647210597991943359375
100.097471426858561471817665733397006988525390625
100.0898091626175556712041725404560565948486328125
100.042169688825225648542982526123523712158203125
100.0285316291862187654260196723043918609619140625
100.0542106520156124815912335179746150970458984375
100.0634965037339014770623180083930492401123046875
100.04915794906065684699569828808307647705078125
100.0707187043640118417897610925137996673583984375
100.1014929373547346358463983051478862762451171875
100.0552223150108233085120446048676967620849609375
99.997484565242530152318067848682403564453125
100.019389105275962492669350467622280120849609375
100.0608435227355386132330750115215778350830078125
100.054712507515802144553163088858127593994140625
100.050141904213745647211908362805843353271484375
100.0692902663437280352809466421604156494140625
100.064077878201686644388246349990367889404296875
100.0283782298722456971518113277852535247802734375
100.018624618541167592411511577665805816650390625
100.0369317712395087482946109957993030548095703125
100.029922834780137463894789107143878936767578125
99.9754772528461188585424679331481456756591796875
99.94824630932777154157520271837711334228515625
99.996653658641690753938746638596057891845703125
100.05398850141995126250549219548702239990234375
100.06711916954014895964064635336399078369140625
100.0770859616790602331093396060168743133544921875
100.101126628519267569572548381984233856201171875
100.124194768973808322698459960520267486572265625
100.136584547682645052191219292581081390380859375
100.112924179832901927511557005345821380615234375
100.082033156360040493382257409393787384033203125
100.059733548229218058622791431844234466552734375
100.0762467144847818190100952051579952239990234375
100.114817097265103029712918214499950408935546875
100.0776895993700037479356979019939899444580078125
99.9997760982723349343359586782753467559814453125
100.0078943019934598623876809142529964447021484375
100.0967117634881589083306607790291309356689453125
100.13087462062912891269661486148834228515625
100.063526766889566488316631875932216644287109375
99.99212258138908282489865086972713470458984375
100.0027849740351797436233027838170528411865234375
100.068040657093064282889827154576778411865234375
100.134467999725899289842345751821994781494140625
100.166153059623951548928744159638881683349609375
100.129428966360563890702906064689159393310546875
100.074066129282385873011662624776363372802734375
100.047577693169813528584199957549571990966796875
100.0562993478715725359506905078887939453125
100.0412123662481036490135011263191699981689453125
100.010279668284084664264810271561145782470703125
100.0109994770969450428310665301978588104248046875
100.002870412533667376919765956699848175048828125
100.004202032182746506805415265262126922607421875
100.0542212272784325932661886326968669891357421875
100.0740509070095214383400161750614643096923828125
100.07440692289497974343248642981052398681640625
100.1025865467552335985601530410349369049072265625
100.08081062310651532243355177342891693115234375
100.0206537934144961354832048527896404266357421875
100.0339555056795717291606706567108631134033203125
100.100427852658953042919165454804897308349609375
100.1262307167416309994223411194980144500732421875
100.100098012499756805482320487499237060546875
100.0427707907807501896968460641801357269287109375
99.9932590416555768797479686327278614044189453125
99.9548137769725570933587732724845409393310546875
99.9522728355375562614426598884165287017822265625
99.987470202013327025269973091781139373779296875
100.023865694456929986699833534657955169677734375
100.0145534701357092899343115277588367462158203125
99.9844476054285706823065993376076221466064453125
100.0248528335507529618553235195577144622802734375
100.10420064602811862641829065978527069091796875
100.118396793276957623675116337835788726806640625
100.071721389697160020659794099628925323486328125
100.02513152058867262894636951386928558349609375
100.0087725365609543359823874197900295257568359375
99.98757594588340680274995975196361541748046875
99.961962951982059166766703128814697265625
99.938261690451980712168733589351177215576171875
99.9971275340451626334470347501337528228759765625
100.06871939476286570425145328044891357421875
100.0228170437528234515411895699799060821533203125
99.9507570147975030749876168556511402130126953125
99.976371615204215004268917255103588104248046875
100.0001278285393482292420230805873870849609375
99.94898601060305054488708265125751495361328125
99.945661414209808981468086130917072296142578125
100.02453000558995199753553606569766998291015625
100.06642177881275301842833869159221649169921875
100.0496799109486119050416164100170135498046875
100.0424399556094243735060445033013820648193359375
100.0386251191020932083119987510144710540771484375
100.041150420153797995226341299712657928466796875
100.03359151286571204764186404645442962646484375
100.0342180089054409108939580619335174560546875
100.0137612307054695293118129484355449676513671875
99.966001352845381688894121907651424407958984375
99.9015825981283143164546345360577106475830078125
99.84785305144350786576978862285614013671875
99.8783214302314235055746394209563732147216796875
99.9604015781452517330762930214405059814453125
100.0135020032093535746753332205116748809814453125
100.0672268556372301873125252313911914825439453125
100.1258797503546560392351238988339900970458984375
100.1250495490572092194270226173102855682373046875
100.0697978040830236068359226919710636138916015625
100.0268892665721267576373065821826457977294921875
100.0134132082181537271026172675192356109619140625
100.02487655410226352614699862897396087646484375
100.0538584425471100303184357471764087677001953125
100.063944727541382917479495517909526824951171875
100.0443982007104324338797596283257007598876953125
100.06426728388686342441360466182231903076171875
100.1350432224052298124661319889128208160400390625
100.1307541536857712571872980333864688873291015625
100.0471538065583985144257894717156887054443359375
100.0077270470819570391540764831006526947021484375
100.0211324831371939581003971397876739501953125
100.0263532822682321921092807315289974212646484375
100.016585719104256213540793396532535552978515625
100.017439222447279689731658436357975006103515625
100.021046930318874501608661375939846038818359375
100.02331054898428419619449414312839508056640625
100.029053661666921470896340906620025634765625
100.04229531972777067494462244212627410888671875
100.04624197491085624278639443218708038330078125
100.0392239260699653868869063444435596466064453125
100.050315882739056405625888146460056304931640625
100.0567339554514916244443156756460666656494140625
100.0352618983654195972121669910848140716552734375
100.0289737735160287002145196311175823211669921875
100.038321250518009719598921947181224822998046875
100.02490854296530642386642284691333770751953125
99.99096709417352712989668361842632293701171875
99.9690503182581124974603881128132343292236328125
99.991570696665604600639198906719684600830078125
100.03832291887914607286802493035793304443359375
100.052155556782594203468761406838893890380859375
100.036743675828773803004878573119640350341796875
99.99152794899470109157846309244632720947265625
99.9843216496498001788495457731187343597412109375
100.0170982309832794499016017653048038482666015625
100.022327961958893638438894413411617279052734375
99.998380136364659165337798185646533966064453125
99.9610993132808260952515411190688610076904296875
99.9664840907736476083300658501684665679931640625
100.00205016388321155318408273160457611083984375
100.012888473796152766226441599428653717041015625
99.991604959025920607018633745610713958740234375
99.986095977218838015687651932239532470703125
100.0107720907422077516457648016512393951416015625
100.0268072165676045415239059366285800933837890625
100.0265168202997898561079637147486209869384765625
100.0304142174712751511833630502223968505859375
100.0380334115208142975461669266223907470703125
100.0218835621564181792564340867102146148681640625
99.985206923996912564689409919083118438720703125
99.9739315044275969057707698084414005279541015625
99.98105852840899387956596910953521728515625
99.969878777757230636780150234699249267578125
99.9452532816526542092105955816805362701416015625
99.9861470157467238095705397427082

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...