【发布时间】:2012-03-31 01:06:57
【问题描述】:
我有一堆看起来像这样的字符:
Комуникационна кабелна система
有时我会有这样的混合:
Généralités
第一个翻译成:
Комуникационна кабелна система
第二个:
一般情况
我可以使用浏览器看到它并将它们放入正文中。
但是我怎样才能让 java 输出“真实”的字符呢?上面的编码叫什么?
我已经尝试了几件事,最后这个(没用):
import java.nio.charset.*;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
List<String> lst = new ArrayList<String>(); lst.add("К"); lst.add("о");
for ( String s : lst ) {
Charset utf8charset = Charset.forName("UTF-8");
Charset iso88591charset = Charset.forName("ISO-8859-1");
ByteBuffer inputBuffer = ByteBuffer.wrap( s.getBytes() );
// decode UTF-8
CharBuffer data = utf8charset.decode(inputBuffer);
// encode ISO-8559-1
ByteBuffer outputBuffer = iso88591charset.encode(data);
byte[] outputData = outputBuffer.array();
System.out.println ( new String(outputData) )
}
【问题讨论】:
-
那些被称为实体。如果您寻找实体到 Unicode 的转换,您可能会以这种方式找到您正在寻找的东西
-
@dldnh 感谢您的澄清!不是最容易在网上搜索的东西:)
标签: java encoding groovy character-encoding utf8-decode