Dan*_*sey 1 c# arrays string byte
我的字符串包含字节(例如0x27),基本上我需要做的是将包含字节数据的字符串数组转换为byte数据类型,然后我可以对其进行编码UTF8,因此它显示有意义的信息.
1个字符串数组包含:
0x37,0x32,0x2d,0x38,0x33,0x39,0x37,0x32,0x2d,0x30,0x31
我需要转换为字节数组,这可能吗?
我的代码是:
string strData;
string strRaw;
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.InnerXml = Data;
XmlElement xmlDocElement = xmlDoc.DocumentElement;
strData = xmlDocElement.GetAttribute("datalabel").ToString();
strRaw = xmlDocElement.GetAttribute("rawdata").ToString();
string[] arrData = strData.Split(' ');
string[] arrRaw = strRaw.Split(' ');
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助.
要说'字符串包含字节'可以用几种方式解释.您可以通过多种方式将字符串提取为字节.根据UTF8编码将字符串直接转换为字节:
var inputBytes = System.Text.Encoding.UTF8.GetBytes(input);
Run Code Online (Sandbox Code Playgroud)
当然,其他编码也有类似的方法.
忽略上述内容
你的评论改变了问题的阅读方式!如果你的字符串只是十六进制(即字节没有编码到字符串中),只需从十六进制转换为整数.就像是....
var b = Convert.ToUInt32(str.Substring(2), 16)
// For an array
var bytes = new byte[arrData.Length];
for(var i = 0; i < arrData.Length; i++) {
bytes[i] = (byte)Convert.ToUInt32(arrData[i].Substring(2), 16);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3551 次 |
| 最近记录: |