首页 > 解决方案 > 返回日期时间的字符串格式的字节数组

问题描述

我需要与向我返回字符串的服务交互......但是这是文本中字节数组的表示。

然后我需要将此字符串转换为字节数组,然后将其转换为 DateTime....

更糟糕的是,我真的不知道使用了什么类型的编码......我知道的仅有的几件事是提供给我的 2 个样本:

关于如何做到这一点的任何想法,或者至少有一些可以帮助我进入解决方案的点?谢谢。

#更新1:

我尝试了以下代码,但结果不是我想要的:

byte[] bytes = { 32, 6, 23, 8, 69, 80, 48, 36 };
long longVar = BitConverter.ToInt64(bytes, 0);
DateTime dateTimeVar = new DateTime(longVar);  // Result: 5/21/8264 9:36:06 AM

string t1 = Encoding.UTF8.GetString(bytes); //  " \u0006\u0017\bEP0$"
string t2 = Encoding.ASCII.GetString(bytes); // " \u0006\u0017\bEP0$"
string t3 = Encoding.BigEndianUnicode.GetString(bytes); // " ᜈ䕐〤"
string t4 = Encoding.UTF32.GetString(bytes); // "��"
string t5 = Encoding.UTF7.GetString(bytes); // " \u0006\u0017\bEP0$"
string t6 = Convert.ToBase64String(bytes);  // IAYXCEVQMCQ=

long longVar = BitConverter.ToInt64({ 32, 6, 23, 8, 69, 87, 118, 148 }, 0); 
// This one even gives me a negative number: -7748910154844273120

#更新2:

我知道日期是从 OPC 服务器和介于两者之间的其他系统获得的……在数据到达我的服务之前发生了什么我真的不知道……同时我在谷歌上搜索 OPC 和 datetime 并得到以下信息关于日期时间的链接,也许我得到一些澄清。

标签: c#arraysparsingreverse-engineeringdata-conversion

解决方案


推荐阅读