byte[] 转成32进制 C#
时间: 2023-09-10 18:09:14 浏览: 75
在 C# 中将 byte 数组转换为32进制可以使用以下方法:
```csharp
public static string ConvertToBase32(byte[] bytes)
{
const string base32Chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567";
StringBuilder result = new StringBuilder();
int bitCount = 0;
int currentByte = 0;
foreach (byte b in bytes)
{
currentByte = (currentByte << 8) | b;
bitCount += 8;
while (bitCount >= 5)
{
int index = (currentByte >> (bitCount - 5)) & 0x1F;
result.Append(base32Chars[index]);
bitCount -= 5;
}
}
if (bitCount > 0)
{
int index = (currentByte << (5 - bitCount)) & 0x1F;
result.Append(base32Chars[index]);
}
return result.ToString();
}
```
使用示例:
```csharp
byte[] byteArray = { 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xF0 };
string base32String = ConvertToBase32(byteArray);
Console.WriteLine(base32String);
```
这将输出转换后的32进制字符串。