如何将UTF8文本编码为Unicode?
string text_txt = "пÑивеÑ";
byte[] bytesUtf8 = Encoding.Default.GetBytes(text_txt);
text_txt = Encoding.UTF8.GetString(bytesUtf8);
问题输出:п??иве。
我需要输出:привет
使用该站点:https://www.branah.com/unicode-converter在“ UTF-8 text (Example: a ä¸ Ð¯
”中输入文本到“ пÑивеÑ
”,它将在Unicode文本上显示“привет”
请提供一些建议,谢谢
byte[] utf8Bytes = new byte[text_txt.Length];
for (int i = 0; i < text_txt.Length; ++i)
{
//Debug.Assert( 0 <= utf8String[i] && utf8String[i] <= 255, "the char must be in byte's range");
utf8Bytes[i] = (byte)text_txt[i];
}
text_txt= Encoding.UTF8.GetString(utf8Bytes, 0, text_txt.Length);
您需要明确说明用于转换为字节的编码类型(Syste.Text.Encoding.UTF8.GetBytes)。例如:
using System;
using System.Text;
public class Program {
public static void Main() {
string text_txt = "пÑивеÑ";
byte[] bytesUtf8 = Encoding.UTF8.GetBytes(text_txt);
text_txt = Encoding.UTF8.GetString(bytesUtf8);
Console.WriteLine(text_txt);
}
}
以这种方式UTF8既用于编码并解码字符串相同方式,并且当您确保从GetString方法返回相同的字符串时。