问题标签 [byte-order-mark]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
51677 浏览

asp.net-mvc - 如何在 C# 中使用带有 BOM 的 UTF8 编码的 GetBytes()?

我在 C# 中的 asp.net mvc 2 应用程序中遇到 UTF8 编码问题。我正在尝试让用户从字符串中下载一个简单的文本文件。我正在尝试使用以下行获取字节数组:

var x = Encoding.UTF8.GetBytes(csvString);

但是当我使用以下命令返回下载时:

return File(x, ..., ...);

我得到一个没有 BOM 的文件,所以我没有正确显示克罗地亚语字符。这是因为我的字节数组在编码后不包含 BOM。我尝试手动插入这些字节,然后它会正确显示,但这不是最好的方法。

我还尝试创建 UTF8Encoding 类实例并将布尔值 (true) 传递给其构造函数以包含 BOM,但它也不起作用。

有人有解决方案吗?谢谢!

0 投票
9 回答
122470 浏览

c# - 如何检测文本文件的字符编码?

我尝试检测我的文件中使用了哪种字符编码。

我尝试使用此代码获取标准编码

我的五个第一个字节是 60、118、56、46 和 49。

是否有图表显示哪种编码与前五个字节匹配?

0 投票
1 回答
2692 浏览

c++ - 在不带 BOM 编码的 UCS-2 LE 中使用标准 ofstream 编写 C++ 文件

当我输出具有标准 ofstream 的文件时,它在 Notepad++ 中显示 ASCII\ANSI 编码,我认为这是正常的,但我在 UCS-2 LE w/o BOM 中需要它。我不知道我应该在这段代码中改变什么 - 你能帮忙吗?

这是一种消息文件格式(.vmg),在 UCS-2 LE 中具有字符编码,没有 BOM,这就是我想在 c++ 中创建的。

0 投票
1 回答
1876 浏览

java - JAXB2 Mtom 附件被 BOM 破坏

我正在使用 JAXB2 在 Spring-WS 中执行 OXM。我指定的 XSD 需要将一个大型 XML 文件附加到 soap 消息中,因此我使用 MTOM 传输文件并在我的 JAXB2Marshaller 上启用了 MTOM。

当 JAXB2 编组具有预期 mime 类型的 text/xml 的 MTOM 附件时,它将该元素作为 javax.xml.transform.Source 对象提供。经过一番搜索,我能够找出如何将该 Source 对象发送到文件。

我遇到的问题是,当我将 UTF-8 编码文件作为附件发送时,出现以下错误:

这是由文件中编码文本前面的字节顺序标记引起的,尽管 UTF-8 编码文件中不需要此 BOM,但 Unicode 标准允许,Java 不支持 UTF-8 编码的 BOM流。

我可以通过发送没有 BOM 的文件来解决这个问题,但这并不可行,因为它会导致大多数插入 BOM 的 Microsoft 产品出现问题。

Sun/Oracle 拒绝使用 Streams 解决此问题有很多解决方法,但它们都要求您有权访问 Stream,JAXB2 提供的 Source Object 没有 InputStream 它只有一个 Reader 对象。有没有办法让我解决这个问题,或者通过使用知道如何忽略 UTF-8 编码中的 BOM 的阅读器包装 Sources Reader 对象,或者更改 JAXB2 将附件读取到源中的方式,以便它可以忽略UTF-8 编码的 BOM。

在此先感谢,克雷格

0 投票
4 回答
39345 浏览

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

正在使用XDocument.

该文件已正确生成并使用 xsd 文件成功验证。

当我尝试将 XML 文件上传到在线服务时,该服务说我的文件是wrong at line 1;我发现问题是由文件第一个字节上的 BOM 引起的。

您知道为什么 BOM 会附加到文件中吗?如果没有它,我该如何保存文件?

字节顺序标记维基百科文章中所述:

虽然 Unicode 标准允许 UTF-8 中的 BOM, 但它不需要也不推荐它。字节顺序在 UTF-8 中没有意义,因此 BOM 仅用于将文本流或文件标识为 UTF-8,或者它是从具有 BOM 的另一种格式转换而来的

这是一个XDocument问题还是我应该联系在线服务提供商的人要求解析器升级?

0 投票
5 回答
21510 浏览

ruby - 有没有办法从 UTF-8 编码文件中删除 BOM?

有没有办法从 UTF-8 编码文件中删除 BOM?

我知道我所有的 JSON 文件都以 UTF-8 编码,但编辑 JSON 文件的数据输入人员将其保存为 UTF-8 和 BOM。

当我运行我的 Ruby 脚本来解析 JSON 时,它失败并出现错误。我不想手动打开 58+ JSON 文件并在没有 BOM 的情况下转换为 UTF-8。

0 投票
3 回答
12156 浏览

c# - 如何检测 .NET StreamReader 是否在底层流上找到了 UTF8 BOM?

我得到一个FileStream(filename,FileMode.Open,FileAccess.Read,FileShare.ReadWrite),然后是一个StreamReader(stream,true)

有没有办法检查流是否以 UTF8 BOM 开头?我注意到没有 BOM 的文件被 StreamReader 读取为 UTF8。

我怎样才能区分它们?

0 投票
5 回答
5539 浏览

html - 为什么网站以 IE 怪癖模式运行?

我有一个站点:http ://www.sucramma.dk 当我在 FF、Chrome 或 Safari 中时,该站点按应有的方式显示,但在 IE 中该站点是左对齐的,并且正在运行是怪癖模式。为什么?文档类型已设置!

0 投票
3 回答
3648 浏览

.net - 如何告诉 ASCIIEncoding 类不要解码字节顺序标记

使用 .net ASCIIEncoding 类将字节数组解码为字符串时,我是否需要编写一些代码来检测和删除字节顺序标记,或者是否可以告诉 ASCIIEncoding 不将字节顺序标记解码为字符串?

这是我的问题,当我这样做时:

someString 看起来像这样:

然后当我打电话给这个时:

由于前三个字节而引发异常: EF BB BF - UTF8 字节顺序标记。所以我想如果我指定UTF8编码,而不是默认,像这样:

ASCIIEncoding 不会尝试将字节顺序标记解码为字符串。当我将返回的字符串复制到 notepad++ 中时,我可以看到一个 ? XML 标记前面的字符。所以现在字节顺序标记被解码为一个垃圾字符。在这种情况下,停止字节顺序标记被解码的最佳方法是什么?

0 投票
1 回答
1658 浏览

java - 如何避免将 BOM 字符写入文件?

我有一些写入文本文件的 Java 代码,指定 UTF-8 作为编码。

现在,一些写入的文件一<U+FEFF>开始就包含一个字符,这给使用该文件的其他程序造成了混乱。

我无法更改其他程序的行为,也无法在外部对文件进行后处理,因为它们可能位于另一台机器上。

有没有办法在将此字符添加到开头的情况下编写文件?