在以下示例中,如果(字符串)文本以BOM开头,则File.writeAllText()将添加另一个,编写两个BOM 。
我想写两次文字:
实现这一目标的规范方法是什么?
HttpWebResponse response = ...
Byte[] byte = ... // bytes from response possibly including BOM
var encoding = Encoding.GetEncoding(
response.get_CharacterSet(),
new EncoderExceptionFallback(),
new DecoderExceptionFallback()
);
string text = encoding.GetString(bytes); // will preserve BOM if any
System.IO.File.WriteAllText(fileName, text, encoding);
答案 0 :(得分:1)
你正在解码然后重新编码文件......这是没用的。
在var lvl = document.getElementById("level")
var ogg = document.getElementById("object")
if (ogg == 0) {
lvl.style.display = 'none';
};
类中,有一个Encoding
方法,在GetPreamble()
中返回前导码(称为utf- *编码的BOM)。然后我们可以检查收到的byte[]
数组是否已经有这个前缀。然后根据这些信息,我们可以编写文件的两个版本,必要时添加或删除前缀。
bytes