文件到字节数组产生奇数十六进制长度

时间:2015-06-19 16:27:57

标签: c#

我目前有一个十六进制值,但它有一个奇怪的长度。我使用了一个byte []代码的文件,它都产生了十六进制的奇数字符长度。在数据库中的值之后,我复制了十六进制值,因为我需要将其用于迁移以应用于一堆其他数据库。由于奇数长度,我无法将Hex转换为Byte []。有什么建议可以跳过这个障碍吗?是否有Hex到Byte []转换器可以处理奇数个长度?

编码器一

var fileStream = new FileStream(openFileDialog.FileName, FileMode.Open, FileAccess.Read);
var bytes = new byte[fileStream.Length];

fileStream.Read(bytes, 0, Convert.ToInt32(fileStream.Length));
fileStream.Close();

UnitOfWork.FileRepository.Add(new ObjectModel.File.File
{
    FileArray = bytes,
    FileName = Path.GetFileName(openFileDialog.FileName),
    FileExtension = Path.GetExtension(openFileDialog.FileName),
    /InteractionId = _interaction.Id,
);

UnitOfWork.Save(User.Id);

1 个答案:

答案 0 :(得分:1)

由于您从microsoft sql server management studio进行复制/粘贴,因此可以在结果中显示最大长度。您将不得不使用另一个工具来直接复制/粘贴sql数据库值。

或进入工具 - >选项 - >查询结果 - > Sql Server - >结果到网格

Maximum Characters Retrieved的{​​{1}}更改为XML data并更改您的SQL查询以在末尾添加Unlimited

它会在结果网格中生成一个xml文件,点击它并从那里复制/粘贴十六进制值