0

Oracle関数rawtohexをC#で記述しようとしています。作成された既存のコードを調べていますが、それが正確かどうかを確認したいと思います。

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();
}

ありがとう。

4

1 に答える 1

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();
}

RAWデータなので、入力としてchar配列を使用している理由がわかりません...

于 2012-11-20T08:45:57.440 に答える