我需要在 C# 中将字符串转换为 UTF-8。我已经尝试了很多方法,但没有一个能如我所愿。 我将我的字符串转换为一个字节数组,然后尝试将它写入一个 XML 文件(编码为 UTF-8 ....)但是要么我得到了相同的字符串(根本没有编码)要么我得到了一个列表没用的字节.... 有人面临同样的问题吗?
编辑: 这是我使用的一些代码:
str= "testé";
byte[] utf8Bytes = Encoding.UTF8.GetBytes(str);
return Encoding.UTF8.GetString(utf8Bytes);
结果是“testé”或者我期望的结果是“testé”...
最佳答案
C# 中的字符串总是 UTF-16,没有办法“转换”它。只要您在内存中操作字符串,编码就无关紧要,仅当您将字符串写入流(文件、内存流、网络流...)时才重要。
如果要将字符串写入XML文件,只需在创建XmlWriter
时指定编码即可
关于c# - 在 C# 中将字符串 (UTF-16) 转换为 UTF-8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6198744/