代码之家  ›  专栏  ›  技术社区  ›  JMP

将SQL二进制转换为字节数组

c#
  •  4
  • JMP  · 技术社区  · 15 年前

    给定存储在SQL二进制字段中的一些数据:

    0x83C8BB02E96F2383870CC1619B6EC...
    

    byte[] someBytes = (byte) 0x83C8BB02E96F2383870CC1619B6EC...;
    

    我错过了什么?

    2 回复  |  直到 15 年前
        1
  •  4
  •   ladenedge    15 年前

    存储在SQL字段中的数据是二进制的。您引用的“0x83..”字符串只是该二进制数据的十六进制表示形式。

    using System.Runtime.Remoting.Metadata.W3cXsd2001.SoapHexBinary
    
    public byte[] ToBytes(string hex)
    {
        var shb = SoapHexBinary.Parse(hex);
        return shb.Value;
    }
    
    public void TestConvert()
    {
        byte[] someBytes = ToBytes("83C8BB02E96F2383870CC1619B6EC");
    }
    

    如果二进制数据以不同于复制/粘贴字符串的形式来自数据库,则需要提供有关设置的更多信息。

        2
  •  2
  •   full-stack    8 年前

    byte[] someBytes = (byte[]) 0x83C8BB02E96F2383870CC1619B6EC...;