c# string转0x2D样式的byte
时间: 2023-07-04 09:08:56 浏览: 242
您可以使用以下代码将C#中的字符串转换为0x2D样式的字节数组:
```csharp
string inputString = "hello";
byte[] byteArray = new byte[inputString.Length * 2]; // 一个字符转换成两个字节
for (int i = 0; i < inputString.Length; i++)
{
byte[] tempArray = BitConverter.GetBytes(inputString[i]); // 获取字符的字节数组
byteArray[i * 2] = tempArray[0]; // 将字节数组分配给两个字节
byteArray[i * 2 + 1] = tempArray[1];
}
```
在上面的代码中,我们使用 `BitConverter.GetBytes()` 方法将每个字符转换为字节数组,然后将每个字节数组的两个元素分配给两个字节。注意,这种转换方式假定您的字符集是Unicode。如果您使用的是其他字符集,则需要相应地调整代码。
相关问题
C# 把“0x2D”转成byte
在 C# 中,可以使用 Convert.ToByte 方法将十六进制字符串转换为 byte 类型。例如,将字符串 "0x2D" 转换为 byte 类型可以使用以下代码:
```
byte b = Convert.ToByte("0x2D", 16);
```
其中,第二个参数指定输入字符串的基数为 16,表示输入字符串是十六进制数。转换后的 byte 值为 45,即十进制下的数值。
c#string 转byte
在C#中,将string类型转换为byte数组可以通过多种方法实现。以下是几种常见的方法:
1. 使用System.Text.Encoding类:
```csharp
string str = "Hello, World!";
byte[] bytes = System.Text.Encoding.UTF8.GetBytes(str);
```
2. 使用System.BitConverter类:
```csharp
string str = "Hello, World!";
byte[] bytes = new byte[str.Length * sizeof(char)];
System.Buffer.BlockCopy(str.ToCharArray(), 0, bytes, 0, bytes.Length);
```
3. 使用System.Runtime.InteropServices.Marshal类:
```csharp
string str = "Hello, World!";
byte[] bytes = System.Runtime.InteropServices.Marshal.S
```
最常用和推荐的方法是使用System.Text.Encoding类,因为它能够处理各种字符编码,并且代码简洁易读。
阅读全文
相关推荐















