第一次 matlab 网考凉凉, 老师打不开我的 m 文件 😂全乱码了. 然后全程被怼, 求助 windows 如何打开 UTF-8 编码的文件

2020-04-16 16:03:21 +08:00
 YUX

说实话 这是我第一次被大学老师怼 主要是搞得我一时语塞

mac 系统是什么?谁让你用 mac 系统?是苹果的么?matlab 是 Windows 的软件,你干嘛用 mac?utf8 是什么,我不是让你们都用 matlab 写么,你用 utf8 干嘛?咱们学校没人用 mac,以后你也少用.你的电脑没法搞科研,我听说很多软件都不兼容?ibm 什么的笔记本不都是 windows 么?我咋没听过有人用 mac

??????????????

求助 windows 如何打开 UTF-8 编码的文件.......

10197 次点击
所在节点    问与答
116 条回复
ipwx
2020-04-17 14:58:21 +08:00
不过啊,你们老师有没有禁止英文注释和文件名啊?

我写程序从来都只用英文注释,就从来没有这么多乱七八糟的事情了
YUX
2020-04-17 15:00:24 +08:00
@ipwx 老师说用英文写也可
ipwx
2020-04-17 15:03:39 +08:00
@YUX 那你源代码全英文,注释全英文,路径都用相对路径,不就结了?哪有那么多编码的屁事,反正 gbk 和 utf-8 在英文字符范围内是重合的。
ipwx
2020-04-17 15:04:07 +08:00
保证源代码不出现任何非 ascii 字符,无论什么编码问题都不存在的。
ipwx
2020-04-17 15:04:57 +08:00
也不要加 BOM,有些编辑器对 BOM 支持不好。还是一句话,全都是英文,随便用啥编码打开都一样的。
YUX
2020-04-17 15:06:16 +08:00
@ipwx #105 是的 已经和老师说好了以后只写英文
ipwx
2020-04-17 15:11:22 +08:00
不过我很好奇你们啥专业的。。。
YUX
2020-04-17 15:31:45 +08:00
@ipwx #107 数学
sudoy
2020-04-17 15:35:22 +08:00
转一下码试试? 我自己写的 Python 脚本可以自动判断解码方式然后转过来。


"""
Use this script to detect the encoding method,
and then convert from that encoding method to utf8.
"""

import chardet
import base64

with open('input.srt', 'rb') as f:
raw_data = f.read()
encode_method = chardet.detect(raw_data)['encoding']
print(encode_method)
converted_data = raw_data.decode(encode_method, "strict").encode("utf8", "strict")
with open('output.srt', 'wb') as r:
r.write(converted_data)
r.close()
f.close()
YUX
2020-04-17 15:38:55 +08:00
@sudoy #109 😂正好反了 我要 from utf8 to gbk
sudoy
2020-04-17 15:43:53 +08:00
@YUX 那正好修改一下就行
把要转的内容重命名为‘input.srt’, 转完输出结果就是 output.srt
我最早是用这个来转电影字幕的,后来发现别的地方也可以用


import chardet
import base64

with open('input.srt', 'rb') as f:
raw_data = f.read()
encode_method = chardet.detect(raw_data)['encoding']
print(encode_method)
converted_data = raw_data.decode(encode_method, "strict").encode("gbk", "strict")
with open('output.srt', 'wb') as r:
r.write(converted_data)
r.close()
f.close()
ipwx
2020-04-17 15:47:57 +08:00
@YUX 应用数学?那就不奇怪了呀,数学系教授不懂 mac 、linux 不懂编码有啥大不了的,难道还影响他推公式做计算模拟么? v 站程序员太傲慢了吧。而且你教授还允许你用英文,足以证明他不是个不学无术的混子,而是关注国际学术进展的真·教授。照顾一下他,有啥不好?
ipwx
2020-04-17 15:49:27 +08:00
不过也许二十年后科学计算就是 jupyter 或者 python 大流行了,matlab 这种商业软件在慢慢地被取代。别的不说,我国正版化进程一直在持续,有免费可用的,收费软件必然会慢慢被淡化。
marcong95
2020-04-17 16:18:39 +08:00
这老师如果一上来就跟 LZ 这么说,感觉这脾气也是很那啥。。。

一般来说就是老师收到发生乱码,跟学生说一下,学生转个编码就好了,也不是什么大事。用这种事情怼学生,还怼得这么没水平,上纲上线一点就是能力、师德有问题。。。
ipwx
2020-04-17 18:41:03 +08:00
@marcong95 你看 up 主贴的老师说的原文嘛:

“utf8 是什么东西。叫你们用 matlab 写,你用 utf8 写干嘛?”

数学系老师不知道“编码”这回事,认为 utf8 是个什么软件。觉得学生就是标新立异,明明是 matlab 课,却偏偏不用 matlab 写,这不是情有可原嘛。
ipwx
2020-04-17 18:43:30 +08:00
@marcong95 还有还有,那个老师印象中:

“matlab 是 windows 的软件,你用 mac 干嘛?”

所以大前提是,这课是教大家怎么用 matlab 做实验的课。你作为老师,不是计算机系的,不知道 mac 上也有 matlab,不知道 utf8 是编码。然后听说有个学生,用 mac 上的 utf8 写了个交上来是乱码的程序,还是考试题。你不怼两句么?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/663116

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX