简体   繁体   中英

Creating bin file from xml using C#

I have a smart home PCL that uses 2 files for configuration. One is an XML file (sps.xml) and the other one is a binary file containing the same information as the XML file but encoded (sps.bin). I am creating my own configuration software using C# and I can modify the XML file but I am having a hard time figuring out how to create the binary file.

My question is: Having an XML file as input how can I create a bin file version of it using C#?

Here is an example of how the sps.bin looks when I open it using Windows Notepad:

Nicht zugeordneteÀ      IconState   ÂÉ                ÿÿÿÿ\¹eJ   ÿV     ?   Ô©     „¡×á½—VÏ«ô%[   Schwerer Fehler eÀ    IconState   ÂÉ               ÿÿÿÿ\¹eJ   ÿV     ?   Ô©     „¡×á½—VÏ«ô%[   Kleiner Fehler  eÀ    IconState   ÂÉ               ÿÿÿÿ\¹eJ   ÿV     ?   Ô©     „¡×á½—VÏ«ô%[   Warnung eÀ    IconState   ÂÉ               ÿÿÿÿ\¹eJ   ÿV     ?   Ô©     „¡×á½—VÏ«ô%[   InfoeÀ    IconState   ÂÉ               ÿÿÿÿ\¹eJ   ÿV     ?   Ô©     „¡×á½—VÏ«ô%[   Neutral eÀ    IconState   ÂÉ               ÿÿÿÿ\¹eJ   ÿV     ?   Ô©     „¡×á½—VÏ«ô%[   Aktiv   eÀ    IconState   ÂÉ               ÿÿÿÿ\¹eJ   ÿV     ?   Ô©     „¡×á½—VÏ«ô%[   Inaktiv eÀ    IconState   ÂÉ               ÿÿÿÿ\¹eJ   ÿV     ?   Ô©      „¡×á½—VÏ«ô%[   Alarm   eÀ    IconState   ÂÉ               ÿÿÿÿ\¹eJ   ÿV     ?   Ô©   
  „¡×á½—VÏ«ô%[   Scharf  eÀ    IconState   ÂÉ                ÿÿÿÿ\¹eJ   ÿV     ?   Ô©     „¡×á½—VÏ«ô%[   UnscharfeÀ    IconState   ÂÉ            
   ÿÿÿÿ\¹eJ   ÿV     ?   Ô©     „¡×á½—VÏ«ô%[   ObeneÀ    IconState   ÂÉ               ÿÿÿÿ\¹eJ   ÿV     ?   Ô©   
  „¡×á½—VÏ«ô%[   Mitte   eÀ    IconState   ÂÉ               ÿÿÿÿ\¹eJ   ÿV     ?   Ô©     „¡×á½—VÏ«ô%[   Unten   eÀ    IconState   ÂÉ            
   ÿÿÿÿ\¹eJ   ÿV     ?   Ô©     „¡×á½—VÏ«ô%[   Ein eÀ    IconState   ÂÉ               ÿÿÿÿ\¹eJ   ÿV     ?   Ô©     „¡×á½—VÏ«ô%[   Aus eÀ    IconState   ÂÉ               ÿÿÿÿ\¹eJ   ÿV     ?   Ô©     „¡×á½—VÏ«ô%[   Auf eÀ    IconState   ÂÉ               ÿÿÿÿ\¹eJ   ÿV     ?   Ô©     „¡×á½—VÏ«ô%[   Zu  eÀ    IconState   ÂÉ               ÿÿÿÿ\¹eJ   ÿV     ?   Ô©     „¡×á½—VÏ«ô%[   VolleÀ    IconState   ÂÉ               ÿÿÿÿ\¹eJ   ÿV     ?   Ô©     „¡×á½—VÏ«ô%[   LeereÀ    IconState   ÂÉ               ÿÿÿÿ\¹eJ   ÿV     ?   Ô©     „¡×á½—VÏ«ô%[   Fertig  eÀ    IconState   ÂÉ               ÿÿÿÿ\¹eJ   ÿV     ?   Ô©     „¡×á½—VÏ«ô%[    In Arbeit   eÀ    IconState   ÂÉ               ÿÿÿÿ\¹eJ   ÿV     ?   Ô©     „¡×á½—VÏ«ô%[   Heiß   eÀ    IconState   ÂÉ               ÿÿÿÿ\¹eJ   ÿV     ?   Ô©     „¡×á½—VÏ«ô%[   KalteÀ    IconState   ÂÉ               ÿÿÿÿ\¹eJ   ÿV     ?   Ô©     „¡×á½—VÏ«ô%[   Webpage eÀ    IconState   ÂÉ               ÿÿÿÿ\¹eJ   ÿV     ?   Ô©   ´æ¤à¦õá¬`Éï.ƒ%[ 
  Categories  eÀ   CategoryCaption ÿÿÿÿ\¹eJ   ÿV     ?   Ô©   ´æ¤à¦õá¬aÉï.ƒ%[    Icons  eÀ   IconCaptionCat  ÿÿÿÿ\¹eJ   ÿV     ?   Ô©     „¡×á½—VÏ«ô%[   Nicht zugeordneteÀ   IconCat ÂÉ                ÿÿÿÿ\¹eJ   ÿV     ?   Ô©     „¡×á½—VÏ«ô%[   Beleuchtung eÀ   IconCat ÂÉ               ÿÿÿÿ\¹eJ   ÿV     ?   Ô©     „¡×á½—VÏ«ô%[   Beschattung eÀ   IconCat ÂÉ               ÿÿÿÿ\¹eJ   ÿV     ?   Ô©     „¡×á½—VÏ«ô%[   Heizung eÀ   IconCat ÂÉ               ÿÿÿÿ\¹eJ   ÿV     ?   Ô©     „¡×á½—VÏ«ô%[   Klima   eÀ   IconCat ÂÉ               ÿÿÿÿ\¹eJ   ÿV     ?   Ô©     „¡×á½—VÏ«ô%[   Audio   eÀ   IconCat ÂÉ               ÿÿÿÿ\¹eJ   ÿV     ?   Ô©     „¡×á½—VÏ«ô%[   Fühler eÀ   IconCat ÂÉ               ÿÿÿÿ\¹eJ   ÿV     ?   Ô©     „¡×á½—VÏ«ô%[ 
  Heizventil  eÀ   IconCat ÂÉ               ÿÿÿÿ\¹eJ   ÿV     ?   Ô©         „¡×á½—VÏ«ô%[ 
  Temperatur  eÀ   IconCat ÂÉ               ÿÿÿÿ\¹eJ   ÿV     ?   Ô©    
 „¡×á½—VÏ«ô%[   Melder  eÀ   IconCat ÂÉ                 ÿÿÿÿ\¹eJ   ÿV     ?   Ô©     „¡×á½—VÏ«ô%[   LüftungeÀ   IconCat ÂÉ            
   ÿÿÿÿ\¹eJ   ÿV     ?   Ô©     „¡×á½—VÏ«ô%[   Fenster eÀ   IconCat ÂÉ               ÿÿÿÿ\¹eJ   ÿV     ?   Ô©    
 „¡×á½—VÏ«ô%[   ÃœberwachungeÀ 

Without a specification for the format of the bin file, you cannot do that.

You can use hex editor, change configurations, and check where the bin file changes, and maybe figure out how it is built - but without knowing its structure, you cannot build it.

XML is well known format, so there are classes to handle in the framework. "Arbitrary binary" is not a know format. There are classes to handle binary data, but again, without knowing in what format it suppose to be - they won't help you.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM