C# 将字节转换为字符串会导致?而不是£;(ASCII)

C# 将字节转换为字符串会导致?而不是£;(ASCII),c#,encoding,byte,C#,Encoding,Byte,我已从网络流中提取预定义消息,并使用以下命令将其转换为字符串: string payloadString = System.Text.Encoding.ASCII.GetString(payloadBytes); 我从这里读到: 这只适用于扩展ASCII码(127+),我上面使用的只适用于非扩展ASCII码(0-127) 这导致我的一些有效负载包含“?”而不是“£” 是否有一种使用ASCII扩展编码转换字节的方法 谢谢。使用编码对象,将Unicode字符编码为每个字符一到四个字节的序列。这将确

我已从网络流中提取预定义消息,并使用以下命令将其转换为字符串:

string payloadString = System.Text.Encoding.ASCII.GetString(payloadBytes);
我从这里读到:

这只适用于扩展ASCII码(127+),我上面使用的只适用于非扩展ASCII码(0-127)

这导致我的一些有效负载包含“?”而不是“£”

是否有一种使用ASCII扩展编码转换字节的方法

谢谢。

使用编码对象,将
Unicode
字符编码为每个字符一到四个字节的序列。这将确保字符的正确编码

string payloadString = System.Text.Encoding.UTF8.GetString(payloadBytes);
string payloadString = System.Text.Encoding.UTF8.GetString(payloadBytes);
使用编码对象将
Unicode
字符编码为每个字符一到四个字节的序列,这将确保字符的正确编码

string payloadString = System.Text.Encoding.UTF8.GetString(payloadBytes);
string payloadString = System.Text.Encoding.UTF8.GetString(payloadBytes);

使用
Encoding.Default
(系统默认的ANSI代码页)或
Encoding.UTF8
,而不是
Encoding.ASCII
。在任何情况下,向发送消息的人检查编码应该是什么,并使用它。

使用
编码。默认值
(系统默认的ANSI代码页)或
编码.UTF8
,而不是
编码.ASCII
。在任何情况下,与发送消息的人核实编码应该是什么,并使用该编码。

在以下位置更改代码:

在以下位置更改代码: