从ISO-8859-1字符中获取实际字符

Tap*_*ose 2 java utf-8 iso-8859-1 character-encoding

我有一个文字:

Á example link.
Run Code Online (Sandbox Code Playgroud)

ISO-8859-1 ÁÁ.

现在我试图将其转换ÁÁ使用以下代码:

Charset utf8charset = Charset.forName("UTF-8");
Charset iso88591charset = Charset.forName("ISO-8859-1");

ByteBuffer inputBuffer = ByteBuffer.wrap(text.getBytes());

CharBuffer data = iso88591charset.decode(inputBuffer);

ByteBuffer outputBuffer = utf8charset.encode(data);
byte[] outputData = outputBuffer.array();
return new String(outputData);
Run Code Online (Sandbox Code Playgroud)

但它不会将其转换ÁÁ.

有任何方法可以达到这个目的吗?

另外我想知道,给定一个String我们可以确定它是哪个Charset?

And*_*ahl 5

我想你混淆的字符编码(UTF-8,ISO-8859-1 ...)用HTML字符实体(Á,Öet.c.).

查看Apache Commons StringEscapeUtilsunescapeHtml函数,我认为它会做你想要的.