将 UTF8 文本编码为 Unicode C#
Encode UTF8 text to Unicode C#
如何将 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 文本显示“привет”
请多指教谢谢
您需要明确说明用于转换为字节的编码类型,(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 方法。
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);
来自答案:How to convert a UTF-8 string into Unicode?
嗯,你可能是这个意思:
// Forward: given in UTF-8 represented in WIN-1252
byte[] data = Encoding.UTF8.GetBytes("привет");
string text = Encoding.GetEncoding(1252).GetString(data);
// Reverse: given in WIN-1252 represented in UTF-8
byte[] reversedData = Encoding.GetEncoding(1252).GetBytes("привет");
string reversedText = Encoding.UTF8.GetString(reversedData);
Console.WriteLine($"{string.Join(" ", data)} <=> {text}");
Console.WriteLine(reversedText);
结果:
208 191 209 128 208 184 208 178 208 181 209 130 <=> привет
привет
请注意,您省略了 €
和 ,
个字符:
Ð¿Ñ Ð¸Ð²ÐµÑ - actual string
привет - should be
如何将 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 文本显示“привет”
请多指教谢谢
您需要明确说明用于转换为字节的编码类型,(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 方法。
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);
来自答案:How to convert a UTF-8 string into Unicode?
嗯,你可能是这个意思:
// Forward: given in UTF-8 represented in WIN-1252
byte[] data = Encoding.UTF8.GetBytes("привет");
string text = Encoding.GetEncoding(1252).GetString(data);
// Reverse: given in WIN-1252 represented in UTF-8
byte[] reversedData = Encoding.GetEncoding(1252).GetBytes("привет");
string reversedText = Encoding.UTF8.GetString(reversedData);
Console.WriteLine($"{string.Join(" ", data)} <=> {text}");
Console.WriteLine(reversedText);
结果:
208 191 209 128 208 184 208 178 208 181 209 130 <=> привет
привет
请注意,您省略了 €
和 ,
个字符:
Ð¿Ñ Ð¸Ð²ÐµÑ - actual string
привет - should be