[1.12.2]材质包里长了个畸胎瘤 - 原版问答 - Minecraft(我的世界)中文论坛 -.html

[1.12.2]材质包里长了个畸胎瘤 - 原版问答 - Minecraft(我的世界)中文论坛 -

Minecraft(我的世界)中文论坛

 找回密码
 注册(register)

!header_login!

只需一步,立刻登录

查看: 376|回复: 8

[皮肤材质] [1.12.2]材质包里长了个畸胎瘤

 关闭 [复制链接]
ItIsEnderman 当前离线
积分
42300
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2015-4-17
查看详细资料

来自:江苏

发表于 2021-7-17 23:05:08 | 显示全部楼层 |阅读模式
200金粒
本帖最后由 ItIsEnderman 于 2021-7-18 14:53 编辑

我先说初步结论,再也不用Java自带Zip类了,改为其他库

RT,最近突然莫名其妙遇到的事,但没时间深究。其实起因还是给一个整合包实测,突然遇到这个意外,结果发现碰盲区了。

想了半天觉得应该发这里,纠结半天的分类。

材质包来源
方块概念材质 1.12.2版本的“完美更新”
https://www.mcbbs.net/thread-4925-1-1.html

具体症状
不论怎么解压后压缩,压缩软件都不觉得有什么问题,但是只要放在MC里加载,就是一个出错:
java.lang.IllegalArgumentException: MALFORMED
以下为Minecraft输出日志:
latest.log (0 40.6 KB, 下载次数: 5)

最佳答案

查看完整内容

压缩包中的文件的文件名中有中文字符
strings 当前离线
积分
24301
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2020-4-29
查看详细资料

来自:湖南

发表于 2021-7-17 23:05:09 | 显示全部楼层
本帖最后由 もぺもぺ 于 2021-7-17 23:06 编辑

压缩包中的文件的文件名中有中文字符

评分

参与人数 1人气 +1收起 理由
ItIsEnderman+ 1看掉一个字草

查看全部评分

回复

使用道具 举报

ItIsEnderman 当前离线
积分
42300
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2015-4-17
查看详细资料

来自:江苏

 楼主| 发表于 2021-7-17 23:08:06 | 显示全部楼层
本帖最后由 ItIsEnderman 于 2021-7-18 15:44 编辑
もぺもぺ 发表于 2021-7-17 23:05
压缩包中的文件的文件名中有中文字符

早已排除看走眼
回复

使用道具 举报

洞穴夜莺 当前离线
积分
15681
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2019-8-18
查看详细资料

来自:广东

发表于 2021-7-17 23:38:37 | 显示全部楼层
本帖最后由 洞穴夜莺 于 2021-7-17 23:40 编辑

assets/realms/textures/gui/realms/trial_icon - ╕▒▒╛.png
2021-07-17 23-35-31 创建的截图.png

评分

参与人数 1金粒 +1收起 理由
strings+ 1我晚了一点

查看全部评分

回复

使用道具 举报

GeForceLegend 当前离线
积分
5733
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2016-7-7
查看详细资料

来自:湖南

发表于 2021-7-18 00:01:24 | 显示全部楼层
assets\realms\textures\gui\realms\trial_icon - 副本.png
assets\realms\textures\gui\title\realms - 副本.png

这俩文件的中文罢了

话说回来我用你写的这段代码能很好的反馈出哪儿不对啊,IDEA的输出会自动在出问题的文件停下

  1. INFOassets/realms/textures/gui/realms/slot_frame.png
  2. INFOassets/realms/textures/gui/realms/survival_spawn.png
  3. INFOassets/realms/textures/gui/realms/trailer_icons.png
  4. java.lang.IllegalArgumentException: MALFORMED
  5.         at java.util.zip.ZipCoder.toString(ZipCoder.java:58)
  6.         at java.util.zip.ZipFile.getZipEntry(ZipFile.java:583)
  7.         at java.util.zip.ZipFile.access$900(ZipFile.java:60)
  8.         at java.util.zip.ZipFile$ZipEntryIterator.next(ZipFile.java:539)
  9.         at java.util.zip.ZipFile$ZipEntryIterator.next(ZipFile.java:495)
  10.         at java.util.Iterator.forEachRemaining(Iterator.java:116)
  11.         at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
  12.         at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580)
  13.         at none.geforcelegend.Test.main(Test.java:12)
复制代码

trailer_icons.png后面就是那个trial_icon - 副本.png,然后第二个也是同样


回复

使用道具 举报

3TUSK 当前离线
积分
8155
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2013-3-8
查看详细资料

来自:美国美国

发表于 2021-7-18 04:51:01 | 显示全部楼层
GeForceLegend 发表于 2021-7-18 00:01
assets\realms\textures\gui\realms\trial_icon - 副本.png
assets\realms\textures\gui\title\realms - 副 ...

你是怎么确定是「副本」两个字的?
我尝试了 GB2312、GBK、GB18030、Big5、HKSCS、ShiftJIS 等一系列可能的编码方式都没办法解出「副本」两个字。难道在保存的时候还经过了其他的编码方式?

评分

参与人数 1金粒 +5收起 理由
wine毛毛+ 5w7chkdsk出现中文盘符即转义,导致乱码.

查看全部评分

回复

使用道具 举报

GeForceLegend 当前离线
积分
5733
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2016-7-7
查看详细资料

来自:湖南

发表于 2021-7-18 09:27:47 | 显示全部楼层
3TUSK 发表于 2021-7-18 04:51
你是怎么确定是「副本」两个字的?
我尝试了 GB2312、GBK、GB18030、Big5、HKSCS、ShiftJIS 等一系列可能 ...

我WinRAR打开就是这俩字
回复

使用道具 举报

strings 当前离线
积分
24301
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2020-4-29
查看详细资料

来自:湖南

发表于 2021-7-18 10:27:31 | 显示全部楼层
本帖最后由 もぺもぺ 于 2021-7-18 10:46 编辑
3TUSK 发表于 2021-7-18 04:51
你是怎么确定是「副本」两个字的?
我尝试了 GB2312、GBK、GB18030、Big5、HKSCS、ShiftJIS 等一系列可能 ...

应该就是 gbk

而且有两个带中文名的文件

image.png
  1. package main

  2. import (
  3.         "archive/zip"
  4.         "fmt"

  5.         "golang.org/x/text/encoding/simplifiedchinese"
  6. )

  7. func main() {
  8.         r, err := zip.OpenReader("1.zip")
  9.         if err != nil {
  10.                 panic(err)
  11.         }
  12.         defer r.Close()

  13.         for _, f := range r.File {
  14.                 if f.FileInfo().IsDir() {
  15.                         continue
  16.                 }
  17.                 if !f.NonUTF8 {
  18.                         continue
  19.                 }
  20.                 fmt.Println(f.Name)
  21.                 fmt.Println(ConvertGBK2Str(f.Name))
  22.         }
  23. }

  24. func ConvertGBK2Str(gbkStr string) string {
  25.         ret, _ := simplifiedchinese.GB18030.NewDecoder().String(gbkStr)
  26.         return ret
  27. }
复制代码
回复

使用道具 举报

3TUSK 当前离线
积分
8155
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2013-3-8
查看详细资料

来自:美国美国

发表于 2021-7-20 03:59:40 | 显示全部楼层
https://docs.oracle.com/javase/8 ... io.charset.Charset-
虽然问题已经解决了,但我还是想补充一下,ZipFile 的构造器允许你指定 Charset,这样应该可以解决乱码的问题。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册(register)

本版积分规则

Archiver|小黑屋|Mcbbs.net ( 京ICP备15023768号-1 ) | 京公网安备 11010502037624号 | 手机版

GMT+8, 2022-8-4 21:54 , Processed in 0.603520 second(s), Total 28, Slave 23 queries, Release: Build.2022.07.28 1606, Gzip On, Redis On.

"Minecraft"以及"我的世界"为美国微软公司的商标 本站与微软公司没有从属关系

© 2010-2022 我的世界中文论坛 版权所有 本站内原创内容版权属于其原创作者,除作者或版规特别声明外未经许可不得转载