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

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

  •  5
     
  •   YUX · 2020-04-16 16:03:21 +08:00 · 10182 次点击
    这是一个创建于 1683 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

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

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

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

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

    所以大前提是,这课是教大家怎么用 matlab 做实验的课。你作为老师,不是计算机系的,不知道 mac 上也有 matlab,不知道 utf8 是编码。然后听说有个学生,用 mac 上的 utf8 写了个交上来是乱码的程序,还是考试题。你不怼两句么?
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   881 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 20:28 · PVG 04:28 · LAX 12:28 · JFK 15:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.