在C#中实现Oracle的RAWTOHEX函数

时间:2012-11-20 08:23:32

标签: c# oracle sql-function

我希望在C#中编写Oracle函数rawtohex。 我正在查看已编写的现有代码,并希望确认它是否准确。

public static string AsHexString1(this char[] chars)
{
    StringBuilder sb = new StringBuilder();

    foreach (var ch in chars)
    {
        int lowNibble = (int)ch % 16;
        int highNibble = (int)ch / 16;

        sb.Append(highNibble <= 9 ? highNibble.ToString() : ((char)('A' + (highNibble - 10))).ToString());
        sb.Append(lowNibble <= 9 ? lowNibble.ToString() : ((char)('A' + (lowNibble - 10))).ToString());
    }

    return sb.ToString();
}

感谢。

1 个答案:

答案 0 :(得分:4)

据我所知, RawToHex 应该与此类似:

public static string RawToHex(byte[] data)
{
    StringBuilder sb = new StringBuilder();
    for (int i = 0; i < data.Length; i++)
        sb.AppendFormat("{0:X2}", data[i]);
    return sb.ToString();
}

我不确定你为什么使用 char 数组作为输入,因为它是RAW数据......