Tag: byte order mark

通过StringBuilder将字节顺序标记添加到字符串

如何向StringBuilder添加字节顺序标记? (我必须将一个字符串传递给另一个将其保存为文件的方法,但我无法修改该方法)。 我试过这个: var sb = new StringBuilder(); sb.Append(‘\xEF’); sb.Append(‘\xBB’); sb.Append(‘\xBF’); 但是当我用hex编辑器查看它时,它添加了以下序列: C3 AF C2 BB C2 BF 字符串很大,所以不用来回转换为字节数组就可以了。 编辑:在评论中提问后澄清。 我必须将字符串传递给另一个方法,该方法接受一个字符串并在Azure Blob存储上创建它的文件。 我无法修改其他方法。

如何删除存在于某些文本中的任何UTF-8 BOM,而不是在某些文本的开头

我们收到一些文件,这些文件已被另一方联系起来。 在这些文件的中间是一些BOM字符。 有没有办法可以检测到这3个字符并删除它们? 我已经看到很多关于如何从-start-文件中删除BOM的例子……但不是中间的。

从File.ReadAllBytes(byte )中删除字节顺序标记

我有一个HTTPHandler,它读取一组CSS文件并将它们组合起来然后GZipping它们。 但是,一些CSS文件包含一个字节顺序标记(由于TFS 2005自动合并中的一个错误),而在FireFox中,BOM被作为实际内容的一部分被读取,所以它搞砸了我的类名等。我怎么能剥离出BOM字符? 有没有一种简单的方法可以在没有手动浏览字节数组的情况下查找“”?

XmlReader在UTF-8 BOM上中断

我的应用程序中有以下XML解析代码: public static XElement Parse(string xml, string xsdFilename) { var readerSettings = new XmlReaderSettings { ValidationType = ValidationType.Schema, Schemas = new XmlSchemaSet() }; readerSettings.Schemas.Add(null, xsdFilename); readerSettings.ValidationFlags |= XmlSchemaValidationFlags.ProcessInlineSchema; readerSettings.ValidationFlags |= XmlSchemaValidationFlags.ProcessSchemaLocation; readerSettings.ValidationFlags |= XmlSchemaValidationFlags.ReportValidationWarnings; readerSettings.ValidationEventHandler += (o, e) => { throw new Exception(“The provided XML does not validate against the request’s schema.”); }; var readerContext […]

如何使用C#从XmlTextWriter中删除BOM?

如何从正在创建的XML文件中删除BOM? 我尝试过使用新的UTF8Encoding(false)方法,但它不起作用。 这是我的代码: XmlDocument xmlDoc = new XmlDocument(); XmlTextWriter xmlWriter = new XmlTextWriter(filename, new UTF8Encoding(false)); xmlWriter.Formatting = Formatting.Indented; xmlWriter.WriteProcessingInstruction(“xml”, “version=’1.0′ encoding=’UTF-8′”); xmlWriter.WriteStartElement(“items”); xmlWriter.Close(); xmlDoc.Load(filename); XmlNode root = xmlDoc.DocumentElement; XmlElement item = xmlDoc.CreateElement(“item”); root.AppendChild(item); XmlElement itemCategory = xmlDoc.CreateElement(“category”); XmlText itemCategoryText = xmlDoc.CreateTextNode(“test”); item.AppendChild(itemCategory); itemCategory.AppendChild(itemCategoryText); xmlDoc.Save(filename);

XDocument:将XML保存到没有BOM的文件

我正在使用XDocument生成一个utf-8 XML文件。 XDocument xml_document = new XDocument( new XDeclaration(“1.0”, “utf-8”, null), new XElement(ROOT_NAME, new XAttribute(“note”, note) ) ); … xml_document.Save(@file_path); 正确生成文件并使用xsd文件成功validation。 当我尝试将XML文件上传到在线服务时,该服务表明我的文件wrong at line 1是wrong at line 1 ; 我发现问题是由文件的第一个字节上的BOM引起的。 你知道为什么将BOM附加到文件中,如何在没有它的情况下保存文件? 如字节顺序标记维基百科文章中所述: 虽然Unicode标准允许使用UTF-8的BOM, 但它不需要或推荐它 。 字节顺序在UTF-8中没有意义,因此BOM仅用于将文本流或文件标识为UTF-8或者是从具有BOM的另一种格式转换的 这是一个XDocument问题还是我应该联系在线服务提供商的人请求解析器升级?