社区讨论

关于洛谷“提交文件”编码格式的问题

工单反馈版参与者 4已保存回复 8

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
8 条
当前快照
1 份
快照标识符
@m4u0ytys
此快照首次捕获于
2024/12/18 23:05
去年
此快照最后确认于
2025/11/04 12:39
4 个月前
查看原帖

问题背景与描述

最近刷题时,无意发现洛谷的一个“提交文件”的 BUG。
如图,在编辑代码时有时我们会加上注释: 图片:在代码编辑器中。一段实现 A+B Problem 的代码四处是一些中英文的注释,且显示没有问题。
然后我们调试完毕,便会使用“提交文件”功能,如图: 图片:在“提交文件”对话框中,文件被正常选择。
可我看到记录源代码时却傻眼了: 图片:代码正常,可非英文的注释逗变成了“?”
代码正常,可非英文的注释逗变成了“?”!
我起初很疑惑,后来明白了:Dev-C++ 编辑器保存的文件的编码格式是 ANSI(GBK),而大部分主流文件打开默认编码是 UTF-8简单来说,就是编码不协调。 虽然大部分程序输出不需要中文,但也是个 BUG 吗。

解决方法(?)

本人虽研究过一阵子网页编程,但是没有细研究打开文件。根据我几年 Python 经验,我认为浏览器的返回结果应该是一个文件流、一个字节信息 (bytes) 或直接是文字。
  • 对于前两种情况,只需要判断不同的编码形式。将解码中遇到问题设定为 strict,然后检查是否有抛出错误即可。
  • 对于后一种情况,我也相信在直接解码成文字前也是可以在网页编程中选择编码格式的。(就算不行就编码成字节再按前两种处理。)

综上所述,这个小问题已被提出,我也希望能够被解决,谢谢开发组!

回复

8 条回复,欢迎继续交流。

正在加载回复...