提问人:Strawberry 提问时间:2/15/2023 最后编辑:Flydog57Strawberry 更新时间:2/19/2023 访问量:454
无法解码字节数组中的文本
Can't decode text from byte array
问:
我有一个字节数组, 我试图变成一个没有成功的字符串。我试图在 c# 中以多种方式解码它:
var stringToByte112 = System.Text.Encoding.UTF32.GetString(bytes, 0, i);
var stringToByte11 = System.Text.Encoding.UTF7.GetString(bytes, 0, i);
var stringToByte111 = System.Text.Encoding.UTF8.GetString(bytes, 0, i);
var stringToByte1111 = System.Text.Encoding.Default.GetString(bytes, 0, i);
= System.Text.Encoding.Unicode.GetString(bytes, 0, i);
var stringToByte11111 = System.Text.Encoding.ASCII.GetString(bytes, 0, i);
但没有成功。
我最接近的是:
"\u0016\u0003\u0001\u0001\"\u0001\0\u0001\u001e\u0003\u0003A F?4Y'Y???\u0012}?\08?<SF?3B#??S?(?%?\0\0??0?,?(?$?\u0014?\n\0?\0?\0?\0?\0K\0J\0I\0H\09\08\07\06\0?\0?\0?\0??2?.?*?&?\u000f?\u0005\0?\0=\05\0??/?+?'?#?\u0013?\t\0?\0?\0?\0?\0G\0@\0?\0>\03\02\01\00\0?\0?\0?\0?\0E\0D\0C\0B?1?-?)?%?\u000e?\u0004\0?\0<\0/\0?\0A\0\a?\u0011?\a?\f?\u0002\0\u0005\0\u0004?\u0012?\b\0\u0016\0\u0013\0\u0010\0\r?\r?\u0003\0\n\0?\u0001\0\0I\0\v\0\u0004\u0003\0\u0001\u0002\0\n\0\u0010\0\u000e\0\u0017\0\u0019\0\u001c\0\u001b\0\u0018\0\u001a\0\u0016\0#\0\0\0\r\0 \0\u001e\u0006\u0001\u0006\u0002\u0006\u0003\u0005\u0001\u0005\u0002\u0005\u0003\u0004\u0001\u0004\u0002\u0004\u0003\u0003\u0001\u0003\u0002\u0003\u0003\u0002\u0001\u0002\u0002\u0002\u0003\0\u000f\0\u0001\u0001"
我还尝试用这个来获取编码:
using (StreamReader reader = new StreamReader(new MemoryStream(bytes),
detectEncodingFromByteOrderMarks: true))
{
text = reader.ReadToEnd();
enc = reader.CurrentEncoding; // the reader detects the encoding for you!
}
这返回了 UTF8,但 UTF8 编码器返回了乱码。
有问题的字节数组:
"16-03-01-01-22-01-00-01-1E-03-03-99-38-BB-63-4E-10-BB-9D-8A-1D-55-33-5C-29-1B-83-D2-40-76-57-1D-58-95-28-28-37-F0-4F-E8-4C-0E-6C-00-00-AC-C0-30-C0-2C-C0-28-C0-24-C0-14-C0-0A-00-A5-00-A3-00-A1-00-9F-00-6B-00-6A-00-69-00-68-00-39-00-38-00-37-00-36-00-88-00-87-00-86-00-85-C0-32-C0-2E-C0-2A-C0-26-C0-0F-C0-05-00-9D-00-3D-00-35-00-84-C0-2F-C0-2B-C0-27-C0-23-C0-13-C0-09-00-A4-00-A2-00-A0-00-9E-00-67-00-40-00-3F-00-3E-00-33-00-32-00-31-00-30-00-9A-00-99-00-98-00-97-00-45-00-44-00-43-00-42-C0-31-C0-2D-C0-29-C0-25-C0-0E-C0-04-00-9C-00-3C-00-2F-00-96-00-41-00-07-C0-11-C0-07-C0-0C-C0-02-00-05-00-04-C0-12-C0-08-00-16-00-13-00-10-00-0D-C0-0D-C0-03-00-0A-00-FF-01-00-00-49-00-0B-00-04-03-00-01-02-00-0A-00-10-00-0E-00-17-00-19-00-1C-00-1B-00-18-00-1A-00-16-00-23-00-00-00-0D-00-20-00-1E-06-01-06-02-06-03-05-01-05-02-05-03-04-01-04-02-04-03-03-01-03-02-03-03-02-01-02-02-02-03-00-0F-00-01-01"
真的不知道从这里去哪里, 有谁知道这是什么编码以及如何获得看起来“正常”的东西?
链接到保存到 TXT 文件的所有字节的文件:https://drive.google.com/file/d/14orWRM5LunbJOgPYQ5wbhxvwG-AFZ1SM/view?usp=sharing
答:
0赞
Strawberry
2/19/2023
#1
最后,我能够联系供应商,他们这边有一个错误,字节是无稽之谈。
评论