使用此函数,我将接收的字节转换为unicode字符串:
//MESSAGE READER
String message = null;
byte[] b = new byte[2048];
int k = Socket.Receive(b);
char c = ' ';
for (int i = 0; i < k - 1; i++)
{
c = Convert.ToChar(b[i]);
message += c.ToString();
}
如何将其转换为UTF-8字符串而不是unicode? p>
修改
Convert.ToChar - 将指定的8位无符号整数的值转换为其等效的Unicode字符。
是否有某些函数可以转换为等效的UTF-8字符?
答案 0 :(得分:4)
Encoding.UTF8.GetString(Encoding.Unicode.GetBytes(message));
答案 1 :(得分:1)
如果您的传入数据是UTF-8格式,那么您可以直接将字节数组传递给Encoding.UTF8.GetString
以获取UTF-8数据的字符串表示。
byte[] b = new byte[2048];
int k = Socket.Receive(b);
string message = Encoding.UTF8.GetString(b, 0, k);