You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java中Hex.decodeHex()方法对应的C#等效实现是什么?

Java Hex.decodeHex()的C#等效实现

方案1:.NET 5+ / .NET Core 2.1+ 直接使用内置方法(推荐)

高版本.NET框架已经内置了功能完全一致的API,直接调用即可:

string Key = "7777777777777777777777777777777777777777777777777777777777777777";
byte[] KeyInBytes = Convert.FromHexString(Key);

方案2:低版本.NET(如.NET Framework)自定义实现

如果使用的框架没有内置Convert.FromHexString方法,可以自己实现等效的解码逻辑:

// 自定义十六进制解码方法,和Java Hex.decodeHex行为完全一致
public static byte[] DecodeHex(string hexString)
{
    if (hexString.Length % 2 != 0)
    {
        throw new ArgumentException("十六进制字符串长度必须为偶数", nameof(hexString));
    }
    byte[] result = new byte[hexString.Length / 2];
    for (int i = 0; i < hexString.Length; i += 2)
    {
        result[i / 2] = Convert.ToByte(hexString.Substring(i, 2), 16);
    }
    return result;
}

调用示例:

string Key = "7777777777777777777777777777777777777777777777777777777777777777";
byte[] KeyInBytes = DecodeHex(Key);

兼容说明

以上两种实现均完全对齐JavaHex.decodeHex的行为:

  • 同时支持大写、小写格式的十六进制字符输入
  • 输入字符串长度为奇数时会抛出参数异常
  • 输入包含非十六进制合法字符时会抛出格式异常

内容的提问来源于stack exchange,提问作者user13150875

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 08:45:02