【发布时间】:2022-02-21 09:41:47
【问题描述】:
在 C# 中,我有一个从 WebClient.DownloadString 获取的字符串。我已经尝试将 client.Encoding 设置为新的 UTF8Encoding(false),但这并没有什么区别——我仍然在结果字符串的开头有一个 UTF-8 的字节顺序标记。我需要删除它(用 LINQ 解析生成的 XML),并希望在内存中这样做。
所以我有一个以 \x00EF\x00BB\x00BF 开头的字符串,如果它存在,我想删除它。我现在正在使用
if (xml.StartsWith(ByteOrderMarkUtf8))
{
xml = xml.Remove(0, ByteOrderMarkUtf8.Length);
}
但这感觉不对。我已经尝试了各种带有流、GetBytes 和编码的代码,但没有任何效果。谁能提供“正确”的算法来从字符串中剥离 BOM?
【问题讨论】: