首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
YUX
V2EX  ›  问与答

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

  •  5
     
  •   YUX · 89 天前 · 7264 次点击
    这是一个创建于 89 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    第 1 条附言  ·  89 天前
    交了这么多次乱码的作业老师都不带看一眼的???
    第 2 条附言  ·  88 天前
    这不是老师会不会 matlab 的问题 不是术业有专攻的问题
    这课就是 matlab 课
    这老师就是教 matlab 的老师
    116 条回复    2020-04-17 18:43:30 +08:00
    1  2  
    ipwx
        101
    ipwx   88 天前
    不过啊,你们老师有没有禁止英文注释和文件名啊?

    我写程序从来都只用英文注释,就从来没有这么多乱七八糟的事情了
    YUX
        102
    YUX   88 天前 via iPhone
    @ipwx 老师说用英文写也可
    ipwx
        103
    ipwx   88 天前
    @YUX 那你源代码全英文,注释全英文,路径都用相对路径,不就结了?哪有那么多编码的屁事,反正 gbk 和 utf-8 在英文字符范围内是重合的。
    ipwx
        104
    ipwx   88 天前
    保证源代码不出现任何非 ascii 字符,无论什么编码问题都不存在的。
    ipwx
        105
    ipwx   88 天前
    也不要加 BOM,有些编辑器对 BOM 支持不好。还是一句话,全都是英文,随便用啥编码打开都一样的。
    YUX
        106
    YUX   88 天前
    @ipwx #105 是的 已经和老师说好了以后只写英文
    ipwx
        107
    ipwx   88 天前
    不过我很好奇你们啥专业的。。。
    YUX
        108
    YUX   88 天前
    @ipwx #107 数学
    sudoy
        109
    sudoy   88 天前
    转一下码试试? 我自己写的 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
        110
    YUX   88 天前
    @sudoy #109 😂正好反了 我要 from utf8 to gbk
    sudoy
        111
    sudoy   88 天前   ❤️ 1
    @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
        112
    ipwx   88 天前   ❤️ 2
    @YUX 应用数学?那就不奇怪了呀,数学系教授不懂 mac 、linux 不懂编码有啥大不了的,难道还影响他推公式做计算模拟么? v 站程序员太傲慢了吧。而且你教授还允许你用英文,足以证明他不是个不学无术的混子,而是关注国际学术进展的真·教授。照顾一下他,有啥不好?
    ipwx
        113
    ipwx   88 天前
    不过也许二十年后科学计算就是 jupyter 或者 python 大流行了,matlab 这种商业软件在慢慢地被取代。别的不说,我国正版化进程一直在持续,有免费可用的,收费软件必然会慢慢被淡化。
    marcong95
        114
    marcong95   88 天前
    这老师如果一上来就跟 LZ 这么说,感觉这脾气也是很那啥。。。

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

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

    数学系老师不知道“编码”这回事,认为 utf8 是个什么软件。觉得学生就是标新立异,明明是 matlab 课,却偏偏不用 matlab 写,这不是情有可原嘛。
    ipwx
        116
    ipwx   88 天前
    @marcong95 还有还有,那个老师印象中:

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

    所以大前提是,这课是教大家怎么用 matlab 做实验的课。你作为老师,不是计算机系的,不知道 mac 上也有 matlab,不知道 utf8 是编码。然后听说有个学生,用 mac 上的 utf8 写了个交上来是乱码的程序,还是考试题。你不怼两句么?
    1  2  
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4266 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 01:38 · PVG 09:38 · LAX 18:38 · JFK 21:38
    ♥ Do have faith in what you're doing.