我有一辆2011年款的菲亚特Punto Evo,它有
Blue & Me
系统配备Windows嵌入式汽车。它有一个名为Eco:Drive的行程记录系统。它将所有驱动器数据记录到扩展名为.bin的USB存储器中。以前,我可以通过Adobe Air支持的Eco:Drive应用程序读取原始数据。现在,该应用程序已停止运行,我无法读取数据。我尝试通过C#将.bin文件作为二进制文件读取。NET 5控制台应用程序,但我无法解决编码逻辑,它给出了无法理解的字符串。例如:
在二进制数组中:
95 153 96 13 66 64 71 48 73 45 0 5 12 95 152 176 13 66 64 71 64 73 109
0 5 12 95 159 80 29 66 64 71 80 73 37 46 5 12 95 154 64 29 66 64 71 96
73 29 0 5 12 95 159 104 13 66 64 71 128 73 5 45 5 12 95 158 232 13 66
64 71 144 72 221 0 5 12 95 154 16 13 66 64 71 160 73 29 0 5 12 95 153
248 13 66 64 71 176 73 5 0 5 12 95 153 40 21 66 64 71 192 72 237 0 5
12 95 158 104 13 66 64 71 208 72 205 0 5 12 95 152 248 13 66 64 71 224
72 197 45 5 12 95 152 112 13 66 64 71 240 72 197 0 5 12 95 152 80 13
66 64 72 0 72 197 0 5 12 95 152 48 13 66 64 72 16 72 197 0 5 12 95 152
88 13 66 128 72 32 72 189 0 5 12 95 152 96 13 66 128 72 48 72 173 0 5
12 95 159 120 5 66 128 72 64 72 181 0 5 12 95 152 96 13 66 128 72 80
72 181 0 5 12 95 159 176 5 66 128 72 96 72 181 0 5 12 95 152 24 13 66
128 72 112 72 173 0 5 12 95 152 72 13 66 128 72 128 72 181 0 5 12 95
152 128 13 66 128 72 144 72 189 0 5 12 95 152 128 13 66 128 72 160 72
181 0 5 12 95 152 112 13 66 128 72 176 72 173 0 5 12 95 159 32 5 66
128 72 192 72 181 0 5 12 95 152 160 13 66 128 72 208 72 173 0 5 12 95
159 112 5 66 128 72 224 72 213 0 5 12 95 152 240 13 66 128 72 240 73
85 0 5 12 95 152 248 29 66 128 73 16 73 53 0 5 12 95 155 144 29 66 128
73 32 72 237 0 5 12 95 154 160 13 66 128 73 48 72 205 0 5 12 95 153 0
13 66 128 73 64 72 197 0 5 12 95 159 128 5 66 128 73 80 72 189 0 5 12
95 159 136 5 66 128 73 96 72 189 0 5 12 95 159 224 5 66 128 73 112 72
173 0 5 12 95 152 192 13 66 128 73 128 72 181 0 5 12 95 152 8 13 66
128 73 144 72 181 0 5 12 95 153 96 13 66 128 73 160 72 197 0 5 12 95
152 112 13 66 128 121 144 64 25 208 72 67 144 64 0 4 2 128 174 42 33
64 128 0 0 0 0 0 0
如果我通过ASCII编码(Shorted)将项目转换为字符串:
你@F?ef?x????十、E哦?x%x@e6O?十、E十、OmjO??%十、Eeb0%X?F
??)Jx%YF??(YF?V?x的百分比
[H@如果?H?uV??[HP?]?Bh[h
%???p%Z??????[Hp??(R?Z?G? E????p \@H?H????G ?V?x ???\@H? ?S ??P\?I ?a ??H\?I ?n B??\?I0 ?z R??]I@ Ez V?(]@IP =o ]@I
5小时]?Ip-_]?一、P一、gt;4I?
一、5.
???^?一、
我使用这段代码片段:
using (StreamReader streamReader = new StreamReader(path, true))
{
var binary = new BinaryReader(streamReader.BaseStream);
var text = binary.ReadBytes(Convert.ToInt32(streamReader.BaseStream.Length));
foreach (var item in text)
{
Console.WriteLine(item);
}
var m = Encoding.ASCII.GetString(text);
Console.WriteLine(m);
}
如何将这些二进制文件转换为可理解的字符串?真正的编码是什么?谢谢。
附言:测试文件为
here
.
编辑:
我使用带有ASCII编码的StreamReader转换为原始数据(缩写):
\u0006\u0001\u0006\u0001\ u00000\u0048\u0049\u0043\u004e\u0050\u0057\u0033\u0035\u0031\u0020\u0020\u0020\ u0020\_0020 \u0046\u0031 \u0039\u0039 \u0046\u0050_ u0000 \u0000 \u 0000 \u0040\u0030\u0009\u002d\u0000 \ u0005\u0018\u004f\u003f