6
如何在C#中将字符串转换为UTF-8?
我有一个从第三方应用程序收到的字符串,我想在Windows Surface上使用C#以任何语言正确显示它。 由于编码不正确,我的一部分字符串在西班牙语中看起来像这样: Acción 而它应该看起来像这样: Acción 根据关于这个问题的答案: 如何知道C#中的字符串编码,我正在接收的编码应该已经在UTF-8上了,但是它是在Encoding.Default(可能是ANSI?)上读取的。 我正在尝试将此字符串转换为真正的UTF-8,但是问题之一是我只能看到Encoding类的一个子集(仅适用于UTF8和Unicode属性),可能是因为我仅限于Windows Surface API。 我尝试了一些在互联网上找到的代码片段,但到目前为止,对于东方语言(例如韩语),它们都没有被证明是成功的。一个示例如下: var utf8 = Encoding.UTF8; byte[] utfBytes = utf8.GetBytes(myString); myString= utf8.GetString(utfBytes, 0, utfBytes.Length); 我还尝试将字符串提取到字节数组中,然后使用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 …