当我在C#中将我的字符串转换为UTF-8时,我遇到了问题。这些是细节: 我有一个字符串作为方法的参数:
void testConvert(string input)
在其他方法中,我称之为:
testConvert("\u9ad9");
现在,我想将它转换为UTF-8,但因为在C#中,它们实现斜杠“\”并将其替换为“\\”,所以我的字符串将是“\\ u9ad9”。 使用此字符串,我不知道如何将其转换为UTF-8,因为如果我将它用于System.Text.UTF8Encoding中的输入,它将无法识别。它只用“\ u9ad9”处理。
我尝试了一些我在这个网站上搜索过的方法,但它不起作用。
请帮我解决这个问题! 谢谢和最诚挚的问候。
答案 0 :(得分:2)
C#中的所有字符串都编码为UTF16 Little Endian,即使您以UTF8读取文件,它也会转换为UTF16LE,如果您需要在写入文件之前将其转换为UTF8,则不要与系统对抗(有选择目标编码的选项或发送到webservice(你需要以原始字节发送),我们需要知道你想要完成什么。