小编Gaa*_*ara的帖子

如何在C#中将字符串转换为UTF-8?

我有一个字符串,我从第三方应用程序收到,我想在我的Windows Surface上使用C#以任何语言正确显示它.

由于编码不正确,我的字符串在西班牙语中看起来像这样:

Acción

而它应该是这样的:

行动组织

根据这个问题的答案: 如何知道C#中的字符串编码,我收到的编码应该是UTF-8,但它是在Encoding.Default(可能是ANSI?)上读取的.

我试图将这个字符串转换成真正的UTF-8,但其中一个问题是我只能看到Encoding类的一个子集(仅限UTF8和Unicode属性),可能是因为我只限于windows表面API.

我已经尝试了一些我在互联网上找到的片段,但到目前为止,东方语言(即韩语)都没有成功.一个例子如下:

var utf8 = Encoding.UTF8;
byte[] utfBytes = utf8.GetBytes(myString);
myString= utf8.GetString(utfBytes, 0, utfBytes.Length);     
Run Code Online (Sandbox Code Playgroud)

我也尝试将字符串解压缩为字节数组,然后使用UTF8.GetString:

byte[] myByteArray = new byte[myString.Length];
for (int ix = 0; ix < myString.Length; ++ix)
{
    char ch = myString[ix];
    myByteArray[ix] = (byte) ch;
}

myString = Encoding.UTF8.GetString(myByteArray, 0, myString.Length);
Run Code Online (Sandbox Code Playgroud)

你们有其他想法我可以试试吗?

c# string encoding utf-8 character-encoding

138
推荐指数
6
解决办法
39万
查看次数

如何在C#中知道字符串编码

我从第三方程序中获取了一个我无法控制的字符串.我的代码片段以HTML格式输出.这在英语中很好用,但在其他语言中它会以有趣的方式显示.例如,西班牙语的口音看起来很有趣,东方语言(即韩语)中的人物看起来很有趣.我很确定我需要做一些编码工作,以便所有语言都能正确显示.

我对编码的理解有点差,所以在发布真正的问题之前,我直观地认为:"如何在C#中将其编码为UTF-8",我希望通过更简单的方式对此事进行更多的了解.的问题.

我的问题是:我如何知道输入字符串的编码类型?在西班牙语中,当我得到一个口音时,它看起来像这样:"Acción",而不是"Acción".这是ANSI还是我在处理什么?

非常感谢提前!

character-encoding c#-4.0

2
推荐指数
1
解决办法
6324
查看次数

标签 统计

character-encoding ×2

c# ×1

c#-4.0 ×1

encoding ×1

string ×1

utf-8 ×1