【问题标题】:Convert jpeg image to hex format将jpeg图像转换为十六进制格式
【发布时间】:2013-09-14 01:27:16
【问题描述】:

我想将jpeg文件转换为十六进制格式,我找到了一些解决方案,其中最初将图像转换为字节数组,然后转换为十六进制格式。C#中有没有直接将jpeg图像转换为十六进制格式的方法。

【问题讨论】:

  • 为了清楚起见,您希望将图像表示为带有十六进制格式字符的字符串?
  • 那么不行,你必须通过字节数组。请参阅stackoverflow.com/questions/311165/… 了解如何做到这一点
  • Hey Rotem 这意味着如果我想将 jpeg 转换为十六进制格式,我必须先转换为字节数组???
  • 是的。您还应该注意,这两个答案都只是将原始文件字节转换为十六进制字符串。这与对图像的像素进行编码非常不同。在这种情况下,与它是图像这一事实无关。另一端读取十六进制字符串的人也必须知道它是JPEG文件,并将其作为JPEG加载,而不是原始图像数据。

标签: c# image binary hex jpeg


【解决方案1】:

使用System.Runtime.Remoting.Metadata.W3cXsd2001 命名空间:)

var str = new SoapHexBinary(File.ReadAllBytes(fName)).ToString();

或使用BitConverter

var str2 = BitConverter.ToString(File.ReadAllBytes(fName));

【讨论】:

    【解决方案2】:

    没有这样的功能,但你可以很容易地写一个:

    void ConvertToHex(string inputFilePath, string outputFilePath)
    {
        var bytes = File.ReadAllBytes(inputFilePath);
        var hexString = string.Join("", bytes.Select(x => x.ToString("X2")));
        File.WriteAllText(outputFilePath, hexString);
    }
    

    【讨论】:

    • 使用StringBuilderAppendFormat 可能更有效。
    • 是的。在文件中使用StreamWriter 会更有效。我只写了最短的。
    猜你喜欢
    • 2023-04-02
    • 2010-10-15
    • 1970-01-01
    • 2022-07-08
    • 2015-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多