#author("2022-09-01T09:50:45+08:00","default:Admin","Admin") #author("2022-09-01T09:55:44+08:00","default:Admin","Admin") [[CSharp]] #contents *Byte[]型のテキストデータをStringとして読み出す [#k27567ba] #codeprettify{{ Stream sr = new MemoryStream(byteData); StreamReader sss = new StreamReader(sr); string result = sss.ReadToEnd(); }} * 适用于嵌入式开发 [#w0e7765c] ** 将十六进制的字符串转换成byte数值 [#z05e40fe] ** 将16进制的字符串转换成byte数值 [#z05e40fe] 下面三种方法都可以 下面三种方法都可以,得到16进制的55,visualStudio 查看值因为显示10进制,会显示为 85 (16进制55 = 10进制85) Convert.ToByte(s, 16) Convert.ToByte("55", 16) Convert.ToByte("0x55",16); Convert.ToInt16("0x55",16) ** 将16进制的值转为字符串 [#aafc30b2] UInt16 wCrc = 0x1234; wCrc.ToString("X2") //输出字符串“1234” * 文字列 [#ma818c4c] ** 文字列をバイナリデータへ変換する。 [#r2de1fb8] #codeprettify{{ int intNum = 100; int offset = 0; byte[] sendData = new byte[1024]; // データ送信領域 string Send_Data_Edit = "test"; byte[] byte_data1 = Encoding.UTF8.GetBytes(Send_Data_Edit); byte_data1.CopyTo(sendData,0); offset = byte_data1.Length; }} ** バイナリデータを文字列へ変換する。 [#gb3c69c7] #codeprettify{{ byte[] byte_data2 = BitConverter.GetBytes(intNum); byte_data2.CopyTo(sendData,offset); Console.WriteLine(Encoding.ASCII.GetString(sendData)); で下記の結果が出ます。 //74-65-73-74-64-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 }} #hr(); コメント: #comment_kcaptcha