我正在尝试使用Java ID3Tag Library从mp3文件中检索ID3标签。但是在检索带有特殊字符的字符串时会出现一些错误(çáêü...)。所以我把这些字符串转换为字节数组:
ID3v2_4 tag=(ID3v2_4) mp3file.getID3v2Tag();
byte [] artBytes=tag.getLeadArtist().getBytes();
for (int i=0;i<artBytes.length;i++){
System.out.println(artBytes[i]);
}
然后我发现每个“未知”字符(以及字符串中的第一个字节)都被读作三字节序列-17 -65 -67(字符串中的“ ”)。此外,在每个字母后面都有一个字节0.因此,如果我想阅读“BlueÖysterCult”,我会得到类似“ Bl u e t C”“的内容。
我可以做些什么来规范化这些字符串?
[编辑]
正确显示一些带有特殊字符的mp3文件。
从US_ASCII或ISO_8859_1这样的字符集中读取将导致字符显示为字节63。