2.15 提交多次一直报错附件有非英文且不是 UTF-8 编码

已经提交过很多次了,删除了所有更改过的代码的中文注释,且另存为时也选了编码保存,用 utf-8 带签名形式保存,而且只有 2.15 交不上去,在 2.15 之后交了别的都可以

你的 object.cpp 是 UTF-8 with BOM 格式的,解码不了。

UTF-8 和 UTF-8 with BOM 的区别主要在于 Byte Order Mark(BOM)的存在。以下是两者的具体区别:

UTF-8

  • 定义:UTF-8(8-bit Unicode Transformation Format)是一种可变长度的字符编码,用于表示 Unicode 字符。它可以编码任何 Unicode 字符,且向后兼容 ASCII。
  • 特点:UTF-8 不包含任何前导字节,即没有 BOM。它直接从文本的第一个字节开始编码字符。

UTF-8 with BOM

  • 定义:UTF-8 with BOM 是 UTF-8 编码的一个变体,开头包含一个特殊的字节序标记(Byte Order Mark, BOM)。这个 BOM 由三个字节组成:EF BB BF
  • 特点:BOM 用于标识文件的编码格式(在本例中为 UTF-8),并且在某些情况下有助于软件识别文件的编码。然而,对于 UTF-8 来说,BOM 并不是必需的,因为 UTF-8 本身不区分字节顺序。

使用场景和影响

  • 兼容性:许多文本编辑器和编译器能够识别和正确处理 UTF-8 BOM。然而,有些系统或工具可能会将 BOM 作为文本内容的一部分进行处理,从而导致问题。
  • 跨平台性:在跨平台开发中,尤其是 Web 开发,通常建议不使用 BOM,因为某些浏览器和服务器可能无法正确处理包含 BOM 的文件。

示例

  • UTF-8
    61 62 63 0A (表示文本 "abc\n")
    
  • UTF-8 with BOM
    EF BB BF 61 62 63 0A (表示文本 "abc\n",包含 BOM)
    
1 Like