目录
前言
前文《[代码片段]使用jaudiotagger解析ID3信息》中知道,解析出的ID3信息的文本存在乱码,部分ID3信息可以通过文本编码转换,但还是存在部分文本无法转成功。
因此在项目中考虑直接过滤依旧是乱码的,同时把ID3信息置为未知。
正文
下面的方法可以转换jaudiotagger解析出来的ID3信息,只能解决一部分。
/** * @param content * @return */ public String changeStringEncode(String content) { if (Charset.forName(StandardCharsets.ISO_8859_1.toString()).newEncoder().canEncode(content)) { try { content = new String(content.getBytes(StandardCharsets.ISO_8859_1.toString()), "GB2312"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } return content; }
由于文本乱码,在音乐信息里显示就不太好看,最后我们直接过滤乱码,显示未知。
显示判断是否是乱码:
public static boolean hasMessyCode(String content) { return !Charset.forName("GBK").newEncoder().canEncode(content); }
经过一定的测试,这个确实可以判断是否是乱码。
参考文章
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...