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?
我想你混淆的字符编码(UTF-8,ISO-8859-1 ...)用HTML字符实体(Á,Öet.c.).
查看Apache Commons StringEscapeUtils的unescapeHtml函数,我认为它会做你想要的.
| 归档时间: |
|
| 查看次数: |
1376 次 |
| 最近记录: |