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

如何将byte[]按ASCII表十六进制列转换为指定字符串?

问题分析与解决方案

你的问题核心是byte数组初始化时混淆了十进制与十六进制数值:

  • 你预期的AVA对应的ASCII字符,十六进制值分别是0x41(A)、0x56(V)、0x41(A)
  • 但你代码里的byte[] {41,56,41}是十进制数值,对应的ASCII字符是)(十进制41)、8(十进制56)、),所以得到)8)的结果。

修正方案

方案1:使用十六进制字面量初始化数组(推荐)

在C#中,十六进制数值需要添加0x前缀,直接用你期望的十六进制值定义数组:

byte[] byteArray = new byte[] { 0x41, 0x56, 0x41 };
string result = Encoding.ASCII.GetString(byteArray, 0, byteArray.Length);
// 输出:AVA

方案2:使用十进制数值初始化数组

如果你需要用十进制,把十六进制值转换成对应的十进制数值(0x41=65,0x56=86):

byte[] byteArray = new byte[] { 65, 86, 65 };
string result = Encoding.ASCII.GetString(byteArray, 0, byteArray.Length);
// 输出:AVA

内容的提问来源于stack exchange,提问作者João Garcia

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 17:56:14