什么样的编码/加密/操作将从左边看到的值转换为右边的值?
146.00 => 4046401A36E2EB1D36.30 => 404226666666666676.22 => 40530E147AE147AE3865.20 => 40DA06683E8C7FD40.200 => 3FC999999999999A我正在处理一个来自我们在工作中使用的软件应用程序的XML文件。我正在尝试设置一个工具来帮助解释和操作软件之外的XML文件,以便在我们拥有的有限许可之外完成工作。在软件中,用户填充字段,并可以导入/导出包含他们输入的信息的XML文件。当我在文本编辑器中打开这些XML文件时,所有字段都被清楚地标记为程序本身中的字段。然而,用户输入的数据是“编码”的(希望这是准确的术语),而且它似乎是十六进制的。
虽然字符串是向后的(当用户输入"9 mi“时,十六进制解码为”wim9“),但我已经能够接受字符串和整数输入,并将它们来回转换为XML文件中的内容。然而,用户输入的任何十进制数字都会给我带来麻烦,编辑:我确定问题在于有关联单元的字段。一些初步研究给我带来了“属性”的概念,但我对XML还不太了解,无法充分利用/理解它。下面是来自XML的两行内容,第一行是用户数据在试图解码时很好地发挥作用,第二行是发生了其他事情:
<BRIDGE_ID HEX="true">#31</BRIDGE_ID>在这里,用户刚刚输入了桥ID的"1“
<LENGTH Units="23" HEX="true">#3FD381D7DBF487FD</LENGTH>在这里,用户输入"1“作为长度,程序在导出之前强制它为1.00。这块地在脚上。
我发现给值分配单位的字段不是很好地反转的。任何没有单元的字段,即XML中没有属性的字段,在一个简单的web解码器中都能工作得很好。所以它的属性使它变得复杂。在顶部的前5个例子中,第一个值是英尺(Units="23"),而第二个和第三个字段都是度(Units="52")。
我知道这里到处都是!谢谢任何能理解它并帮助我的人!
发布于 2020-05-04 23:36:55
对于第2、第3和第5个值,16位十六进制字符串只是内部64位双精度IEEE浮点值的十六进制表示,其十进制表示出现在左侧。
这不适用于第1和第4值,其中十六进制字符串分别表示为44.50和26649.628817677338。既然你谈论的单位,也许有可能从美国单位转换成公制所涉及的?
这个问题与XML无关。仅仅因为数据被包装在XML标记中,并不会使它成为XML问题。
https://stackoverflow.com/questions/61602980
复制相似问题