Java 如何解码使用jid3lib-0.5.4获取的ID3V2标记
我正在尝试使用Java中的jid3lib从MP3文件中查找ID3V2标记。但我的弦越来越乱了。这是我的密码:Java 如何解码使用jid3lib-0.5.4获取的ID3V2标记,java,character-encoding,id3v2,Java,Character Encoding,Id3v2,我正在尝试使用Java中的jid3lib从MP3文件中查找ID3V2标记。但我的弦越来越乱了。这是我的密码: import org.farng.mp3.MP3File; import org.farng.mp3.id3.AbstractID3v2; public class NewClass { public static void main(String [] args){ try{ MP3File file = new MP3File("c:
import org.farng.mp3.MP3File;
import org.farng.mp3.id3.AbstractID3v2;
public class NewClass {
public static void main(String [] args){
try{
MP3File file = new MP3File("c:\\2.mp3");
AbstractID3v2 tag = file.getID3v2Tag();
String str = tag.getAuthorComposer();
System.out.println("Lenght: "+str.length());
for(int i = 0; i < str.length(); i++){
char ch = str.charAt(i);
System.out.println(i+": "+"'"+(ch)+"' : "+((int)ch));
}
System.out.println(str);
}catch(Exception e){
e.printStackTrace();
}
}
}
但在Windows资源管理器中,它会显示正确的“Himesh Reshammiya”
如何在java中获得正确的字符串,或任何解码该字符串的解决方案
我想这可能是某种字符编码。提前感谢可能的解决方法:
replaceAll("\\s","")
这将删除所有空白和不可见字符。我冒昧地猜测库不支持UTF-16编码的文本,这似乎是(输出中列出的前两个字符是BOM) 您可能应该使用以下列出的库之一: 通过查看Java版本,这可能是一个很好的版本:
它说它在页面上支持Unicode。3:'':0我看到的是你的问题吗 只需将这个“”字符(没有空格)放入一个新的整数()中,它必须等于0。使用mp3agic。。 太棒了。。。。。
不删除NUL或unicode替换字符,只删除空白。
replaceAll("\\s","")