如何在C#中将字符串(ASCII类型)转换为UTF-8

时间:2015-07-11 14:08:44

标签: c# string encoding utf-8

当我在C#中将我的字符串转换为UTF-8时,我遇到了问题。这些是细节: 我有一个字符串作为方法的参数:

void testConvert(string input)

在其他方法中,我称之为:

testConvert("\u9ad9");

现在,我想将它转换为UTF-8,但因为在C#中,它们实现斜杠“\”并将其替换为“\\”,所以我的字符串将是“\\ u9ad9”。 使用此字符串,我不知道如何将其转换为UTF-8,因为如果我将它用于System.Text.UTF8Encoding中的输入,它将无法识别。它只用“\ u9ad9”处理。

我尝试了一些我在这个网站上搜索过的方法,但它不起作用。

请帮我解决这个问题! 谢谢和最诚挚的问候。

1 个答案:

答案 0 :(得分:2)

C#中的所有字符串都编码为UTF16 Little Endian,即使您以UTF8读取文件,它也会转换为UTF16LE,如果您需要在写入文件之前将其转换为UTF8,则不要与系统对抗(有选择目标编码的选项或发送到webservice(你需要以原始字节发送),我们需要知道你想要完成什么。