c# - 如何将字节 [] 从实体框架转换为单个十六进制字符串
问题描述
抱歉,如果这是重复的,我在搜索方面很糟糕。我将在下面发布一些我尝试过的东西。
我正在使用实体框架从 SQL Server 数据库中提取一个 varbinary 列。实体框架返回一个byte[]
.
当我使用 SSMS 查询数据库时,这就是我得到的(以及我试图在 C# 中得到的):0x540FA51A000706010096000B64FFAEC1
数据库编码为 UTF8。提前致谢。
以下是我尝试过的一些事情:
public static string ByteArrayToString(byte[] ba)
{
StringBuilder hex = new StringBuilder(ba.Length * 2);
foreach (byte b in ba)
hex.AppendFormat("{0:x2}", b);
return hex.ToString();
}
public static string ByteArrayToString(byte[] ba)
{
if (BitConverter.IsLittleEndian)
Array.Reverse(ba);
string hex = BitConverter.ToString(ba);
return hex.Replace("-", "");
}
private static string ByteArrayToHex(byte[] barray)
{
char[] c = new char[barray.Length * 2];
byte b;
for (int i = 0; i < barray.Length; ++i)
{
b = ((byte)(barray[i] >> 4));
c[i * 2] = (char)(b > 9 ? b + 0x37 : b + 0x30);
b = ((byte)(barray[i] & 0xF));
c[i * 2 + 1] = (char)(b > 9 ? b + 0x37 : b + 0x30);
}
return new string(c);
}
解决方案
推荐阅读
- python - 如何计算嵌套列表的平均值,同时仍将其与字符串关联
- python - 将视频帧写入另一个视频 Python OpenCV
- python - python中的N个嵌套for循环
- python - 抓取我的学校网站以获取成绩
- amazon-web-services - 安全组创建导致 cloudformation 模板出错
- airflow - 气流连接 __init__() 缺少 1 个必需的位置参数:'api_version'
- php - Laravel Livewire 从字符串中获取关系数据
- flutter - 使用 bloc 问题更新文本输入
- python-3.x - 如何将用户输入导入要为其创建表的字典
- linux - 我需要打印行号以及用户提示的内容,怎么做?我尝试了以下代码,但它不起作用