Как сделать байтовый массив данных строкового типа, используя c# - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть

string FieldName = "70778203048000022800101980197011000403364161025115108169019130064124025314701282420179220012222500653502306514513063501621600641710539012820602201612822031760654616264064251063248011208023217501282310240641420165320128137014031064148178170645902192050642120103250065217247064761631012941184144064122030190";

, и я пытаюсь получить его в байтовом массиве, используя этот код

byte[] fingerbuffer1 = Encoding.ASCII.GetBytes(FieldName); 
                     OR
byte[] fingerbuffer = Encoding.UTF8.GetBytes(FieldName);

, но он дает закодированные данные "FieldName", такие как

byte[] fingerbuffer = "554855555650485150534852564848484850505648484954484957564849575548495755494848485248515154524954494850534949534948495054574849495148485452495052485053514952554849505650525048495557840565534848545351534850515249575748545249504849555649494856505152534957485453552595651485452515349544848545249554948535157484950565048504849545648495056550484948495056494956485051535155485453494848504957495754534956484955525049544854525049564955525153484950565455495151494948485452525348505250505050485452525548495651495554485453525449545054524854525053494854515052564849505564524851494854524952564955564955485452535748504957504853485452504950484948515053484854535049555052554854525554495451494849505752494956524952524854524950504851484957484848";

но мне нужны точные данные "FieldName" в байтах []

byte[] fingerbuffer = "70778203048000022800101980197011000403364161025115108169019130064124025314701282420179220012222500653502306514513063501621600641710539012820602201612822031760654616264064251063248011208023217501282310240641420165320128137014031064148178170645902192050642120103250065217247064761631012941184144064122030190";

ИЛИ мой второй вопрос: - как те же данные можно извлечь из базы данных в байтах [].

1 Ответ

0 голосов
/ 30 апреля 2020
static byte[] GetBytes(string str)
{
     byte[] bytes = new byte[str.Length * sizeof(char)];
     System.Buffer.BlockCopy(str.ToCharArray(), 0, bytes, 0, bytes.Length);
     return bytes;
}

static string GetString(byte[] bytes)
{
     char[] chars = new char[bytes.Length / sizeof(char)];
     System.Buffer.BlockCopy(bytes, 0, chars, 0, bytes.Length);
     return new string(chars);
}
...