起因
问题的起因是因为前端来读压缩包里面的json文件这个需求,于是我使用了jszip这个库,但是文件编码只支持UTF-8。对于其他编码要使用另外的解码库,iconv-lite我看了一下,他官网只提了一嘴可以使用webpack,在浏览器中使用,但是我没找到相关webpack配置 :)
这里顺便在抛出一个问题,就算解决了第一个问题, 我怎么知道zip文件中的文件编码格式是什么,我找了一些库,发现支持的编码类型不全,要不然就是相关库相对于py来讲很少。我目前解决是用try catch语句来处理除UTF-8之外的逻辑
CommonJS
规范的包,你可以使用工具例如Browserify
、Webpack
或Rollup.js
等进行打包。这些工具可以将CommonJS
模块转换为浏览器可用的代码,从而使你能够在浏览器中使用这些模块。jszip
库来读取压缩包中的文件,如果你需要支持其他编码格式,可以使用类似于iconv-lite
这样的库来进行解码。将解码后的文本传递给jszip
库进行处理即可。zip
文件中的文件编码格式是什么,可以尝试使用一些自动检测编码的库,例如jschardet
或encoding-japanese
等。这些库可以通过分析文本内容来自动检测编码格式。如果没有找到对应的编码格式,可以使用默认编码格式进行解码,或者抛出异常进行处理。