字符编码

Red*_*gle 9 c# encoding

对于这段代码:

String content = String.Empty;
ListenerStateObject state = (ListenerStateObject)ar.AsyncState;
Socket handler = state.workSocket;

int bytesRead = handler.EndReceive(ar);

if (bytesRead > 0)
{
   state.sb.Append(Encoding.UTF8.GetString(state.buffer, 0, bytesRead));

   content = state.sb.ToString();
   ...
Run Code Online (Sandbox Code Playgroud)

我正在'Ol?' 而不是'Olá'

它出什么问题了?

Jac*_*esB 1

您确定该流实际上是 utf-8 编码的吗?尝试在编码之前检查缓冲区中的原始字节(应该有 4 个)并查看实际的字节值是什么。