Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 正在生成具有特定大小的字符串的字节_C#_Hex_Byte - Fatal编程技术网

C# 正在生成具有特定大小的字符串的字节

C# 正在生成具有特定大小的字符串的字节,c#,hex,byte,C#,Hex,Byte,我有这段代码,它生成80字节的单词“Administrator”来显示输出 szOperatorName = BitConverter.ToString(data, 45, data.Length - 45); //szOperatorName is set to 'Administrator' byte[] OperatorName = new byte[80]; Array.Copy(Encoding.ASCII.GetBytes(szOperatorName), OperatorNam

我有这段代码,它生成80字节的单词“Administrator”来显示输出

 szOperatorName = BitConverter.ToString(data, 45, data.Length - 45); //szOperatorName is set to 'Administrator'
byte[] OperatorName = new byte[80];

Array.Copy(Encoding.ASCII.GetBytes(szOperatorName), OperatorName, System.Math.Min(80,szOperatorName.Length));
输出

41 64 6D 69 6E 69 73 74 72 61 74 6F 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

预期产出

410064006D0069006e006900730074007200610074006F00720000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00


我已经强调了两者之间的一些主要区别,对于获得预期结果的任何帮助都将不胜感激

要获得预期的输出,请使用Unicode编码获得字节

Encoding.Unicode.GetBytes(szOperatorName)
试验


您当前的输出基于ASCII编码(显然)

wordBytes=encoding.ASCII.GetBytes(“管理员”)。。。Array.Copy(wordBytes,newArr,wordBytes.Length)
@T.S.OperatorName是我这里的新变量,它保存生成的字节,您所说的“再次检查”是什么意思这有帮助吗?它看起来几乎像是基于Unicode编码的预期输出,而你使用ASCII。这不起作用。你真了不起,你知道吗?@Pwan这是她昨天说的:-)
byte[] bytes = System.Text.Encoding.Unicode.GetBytes("Administrator");
foreach (var b in bytes)
    Console.WriteLine(b);

. . . .
Array.Copy(bytes, newArr, bytes.Length);