【问题标题】:converting file to binary c#将文件转换为二进制c#
【发布时间】:2016-04-15 16:47:21
【问题描述】:

我想将文件转换为二进制文件。我试过了,但我得到 0X000000000000000 .....这是不正确的。总是每个文件都得到那个数字。请帮我解决提前谢谢

if (value.resume_file.CompareTo("") != 0)
{
    byte[] binary = new byte[value.resume_file.Length];
    //binary =  Convert.ToByte(value.resume_file);
    objJobSeekers.IsResume = true;
    objJobSeekers.DocFileName = value.resume_file;
    objJobSeekers.Resume = binary;
    objJobSeekers.TypedResume = DBNull.Value;
}

【问题讨论】:

  • value.resume_file是什么,请贴出完整代码。
  • 那么对于一个文件名长度为 X 个字符的文件,您保留 X 个字节的二进制内容吗?好的编程...
  • 但我得到了 0x000 如何解决这个问题。你能帮我彼得B吗
  • 这不是谷歌。建议搜索词:.NET read file bytes
  • 当你不说“value.resume_file”实际上是什么类型的变量时,很难提供任何帮助,你凭空捏造一个叫做“objJobSeekers”的东西,你不说在哪里你看到0X000000000000000。这段代码 sn-p 似乎所做的只是分配一个给定大小的字节数组,但它没有尝试将任何文件数据读入这个缓冲区(所以难怪它包含零)。

标签: c# asp.net


【解决方案1】:

字符串转字节[]

byte[] bytes = System.Text.Encoding.UTF8.GetBytes(str);

字节[]转字符串

str = System.Text.Encoding.UTF8.GetString(bytes);

这是你要找的吗?

【讨论】:

  • 请注意,“str”是字符串内容,而不是文件名。
【解决方案2】:

如果您想从磁盘读取任何文件并获取其字节,请使用

string FileDir = "D:\\File.doc";
byte[] MyBytes = File.ReadAllBytes(FileDir);

如果你想将内存中的一些随机对象转换为字节,那么你可以使用 BinarySerializer

byte[] MyBytes;
BinaryFormatter bf = new BinaryFormatter();
using (MemoryStream ms = new MemoryStream())
{
    bf.Serialize(ms, obj);
    MyBytes = ms.ToArray();
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-07
    • 1970-01-01
    • 2013-08-20
    相关资源
    最近更新 更多