疯狂的百度 2021-11-29 10:25 采纳率: 46.7%
浏览 11
已结题

不同编码格式文件上传后端解析如何做到兼容?

不同电脑创建的excel(csv) 编码格式不同,有gbk,ISO-8859-1,utf-8 当上传后后端拿到文件流解析时,我如何兼容的去解析?不出现乱码

  • 写回答

1条回答 默认 最新

  • 冰思雨 2021-11-29 10:40
    关注

    两方面考虑:

    1. 客户端上传文件的时候,带上文件的编码。
    2. 对于没有带上文件编码的情况,服务端在处理文件之前,根据文件的数据内容判断出文件使用的编码。

    根据楼主的表述,应该是不考虑1的情况了。
    如果只有楼主说的3中编码的话,可以自己编写探测程序进行排查。
    GBK编码是变长双字节编码,有时候是一个字节表示一个字符,有时候是两个字节表示一个字符。
    UTF-8编码是变长四字节编码,有一、二、三、四个字节表示一个字符的情况。
    ISO-8859-1编码是西欧编码,定长一字节编码。如果前两个编码没有适配成功的话,那就可以适配这个编码。


    楼主可以根据上述三个编码的特征进行判断。编码特征我没有写出来。这需要楼主对编码技术有一定的了解。


    上述三种编码都对 ASCII 编码有兼容。如果文件的内容是 ASCII 编码的数据,适配上述三种编码的任意一种都不影响文件的数据处理。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月7日
  • 已采纳回答 11月29日
  • 创建了问题 11月29日

悬赏问题

  • ¥15 Oracle触发器记录修改前后的字段值
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器