如何将 Modified-UTF8 编码的 byte[] 转换为字符串?

3

我正在学习类文件格式。

我遇到了一个Modified-UTF8编码的byte[]。

有没有便捷的方法将该byte[]转换为字符串而不使用DataInput#readUTF?

我找不到任何适用于它的字符集名称。

1个回答

0
你应该尝试使用常规的 UTF-8 字符集名称进行解码。Modified UTF-8 的唯一区别是对零代码点的非规范编码,而且很可能你的字符串不包含零字符,因此它将被正确解码。

那么4字节的UTF-8字符呢? - mas.morozov
1
修改过的UTF-8编码器永远不会发出4字节的UTF-8字符,这在文档中已经明确说明。 - Marko Topolnik
这个回答说“你应该尝试”和“有很大的机会”,换句话说,你并不确定,只是猜测UTF-8字符集解码器可能做得对,但你自己并不知道。所以我想问:你试过了吗?你知道它确实有效吗?或者它根本不起作用,因为毕竟这里只是一个猜测。 - scravy
@scravy 在我的回答中,我清楚地记录了它何时有效,何时无效。没有猜测。你需要知道你的特定输入是什么。你已经尝试过了吗?还是你只对这个话题的一般讨论感兴趣? - Marko Topolnik

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接