lixyz
V2EX  ›  问与答

Java 读取文件,字符串部分乱码是怎么回事儿?

  •  
  •   lixyz · Jul 15, 2019 · 2050 views
    This topic created in 2512 days ago, the information mentioned may be changed or developed.

    从哔哩哔哩上下载了一些视频,因为下载下来文件名是 av 号,同时还下载下一个 info 文件,然后 info 文件中是一个 json,里面包含了视频的文件名,所以想着写个工具把 json 里面的文件名提取出来然后重命名文件

    读取文件文件时进行了 UTF-8 转码 然后发现一个问题,gson 解析之后,文件名是类似于这样的:

    163-尚硅??-老韩图解 Java 数据结构和算??-动态规划算法和 KMP 算法小结
    

    部分字会变成问号,请问这是什么情况?

    OctopusGO
        1
    OctopusGO  
       Jul 15, 2019 via Android
    不知道,找到原因 @
    jifengg
        2
    jifengg  
       Jul 16, 2019
    1.先确定 info 文件里面有没有乱码,以及编码是不是 utf8 的。
    2.确定 info 里面有没有不可见的字符。
    3.如果 info 文件一切正常,那就看你解析 json 的方式了。
    4.再看看有没有 emoji 之类的。
    5.不行的话自己再手写一个 json,自己解析看看有没有问题。
    wdmx007
        3
    wdmx007  
       Jul 16, 2019
    你是不是用的 FileReader,这个默认不是 utf8 编码的,建议使用 FileInputStream 直接读 byte 然后转 utf8
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3948 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 96821589 · 49ms · UTC 00:16 · PVG 08:16 · LAX 17:16 · JFK 20:16
    ♥ Do have faith in what you're doing.