c# 判断字符串编码格式
时间: 2023-07-26 17:35:52 浏览: 631
在 C# 中,可以使用以下方式来判断字符串编码格式:
1. 使用 `Encoding` 类的静态方法 `GetEncoding`,将字符串转换为字节数组,再通过判断字节数组的前几个字节来推断编码格式。
```csharp
string str = "你好";
byte[] bytes = Encoding.Default.GetBytes(str);
if (bytes[0] == 0xEF && bytes[1] == 0xBB && bytes[2] == 0xBF)
{
Console.WriteLine("编码格式为UTF-8");
}
else if (bytes[0] == 0xFE && bytes[1] == 0xFF)
{
Console.WriteLine("编码格式为Unicode");
}
else if (bytes[0] == 0xFF && bytes[1] == 0xFE)
{
Console.WriteLine("编码格式为Unicode(反转)");
}
else if (bytes[0] == 0 && bytes[1] == 0 && bytes[2] == 0xFE && bytes[3] == 0xFF)
{
Console.WriteLine("编码格式为UTF-32(大端序)");
}
else if (bytes[0] == 0xFF && bytes[1] == 0xFE && bytes[2] == 0 && bytes[3] == 0)
{
Console.WriteLine("编码格式为UTF-32(小端序)");
}
else
{
Console.WriteLine("编码格式为ANSI");
}
```
2. 使用 `StreamReader` 类的构造函数,通过判断编码格式是否为指定的编码格式来判断字符串的编码格式。
```csharp
string str = "你好";
using (MemoryStream stream = new MemoryStream(Encoding.Default.GetBytes(str)))
{
using (StreamReader reader = new StreamReader(stream, Encoding.GetEncoding("gb2312")))
{
Console.WriteLine(reader.CurrentEncoding.EncodingName);
}
}
```
以上两种方式都可以用来判断字符串的编码格式,选择哪种方式取决于实际情况。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![cs](https://img-home.csdnimg.cn/images/20250102104920.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)