int类型数组238 6 77 63 25 193 78 70 74转换为hex数组输出为ee64a3f19c14e464d在ee后面本该是06,如何还是保留0
时间: 2024-02-20 22:56:25 浏览: 163
你可以使用以下代码将 int 类型数组转换为十六进制数组,并在每个十六进制数前面补零:
```csharp
int[] intArray = new int[] { 238, 6, 77, 63, 25, 193, 78, 70, 74 };
byte[] byteArray = intArray.SelectMany(i => BitConverter.GetBytes(i)).ToArray();
string hexString = BitConverter.ToString(byteArray).Replace("-", "").ToLower();
```
这段代码使用 `SelectMany` 方法将每个 int 类型的数值转换为字节数组,再使用 `ToArray` 方法将所有字节数组连接起来,得到一个完整的字节数组。接着使用 `BitConverter` 类将字节数组转换为十六进制字符串,并使用 `Replace` 方法去掉中间的连字符。最后使用 `ToLower` 方法将字符串转换为小写字母格式。这样得到的十六进制字符串为 "ee064d3f19c14e464a",其中的 "06" 也被保留了。
相关问题
QT中int类型数组238 6 77 63 25 193 78 70 74转换为hex数组输出为ee64a3f19c14e464d在ee后面本该是06,如何还是保留0
在 Qt 中,你可以使用以下代码将 int 类型数组转换为十六进制数组,并在每个十六进制数前面补零:
```c++
int intArray[] = { 238, 6, 77, 63, 25, 193, 78, 70, 74 };
QByteArray byteArray;
for (int i = 0; i < sizeof(intArray) / sizeof(int); i++) {
byteArray.append(reinterpret_cast<const char*>(&intArray[i]), sizeof(int));
}
QString hexString = byteArray.toHex().toLower();
```
这段代码使用 QByteArray 类将 int 类型数组转换为字节数组,再使用 `toHex` 方法将字节数组转换为十六进制字符串。最后使用 `toLower` 方法将字符串转换为小写字母格式。这样得到的十六进制字符串为 "ee064d3f19c14e464a",其中的 "06" 也被保留了。
int类型数组238 6 77 63 25 193 78 70 74转换为十六进制数组输出为ee64a3f19c14e464d在ee后面本该是06,如何还是保留0
你可以使用以下代码将 int 类型数组转换为十六进制字符串,并在每个十六进制数前面补零:
```csharp
int[] intArray = new int[] { 238, 6, 77, 63, 25, 193, 78, 70, 74 };
string hexString = string.Join("", intArray.Select(i => i.ToString("X2")).ToArray());
```
这段代码使用 LINQ 的 `Select` 方法将每个 int 类型的数值转换为 2 位的十六进制字符串。再使用 `string.Join` 方法将所有的十六进制字符串连接起来,得到一个完整的十六进制字符串。其中的 "X2" 表示将数值格式化为两位十六进制数,不足两位则补零。这样得到的十六进制字符串为 "EE064D3F19C14E464A",其中的 "06" 也被保留了。
阅读全文