Привет
У меня есть сценарий, в котором мне нужно преобразовать кодировку по умолчанию, которая должна быть переопределена, но UTF-8. Я использую ниже класс. Но я не получаю ожидаемый результат. Потому что я использую Unix-систему с UTF-8 по умолчанию в качестве кодировки и сравниваю результаты там. Я что-то не так в этой программе?
public class CharsetDisplay {
public static void main(String[] args) {
System.out.println(Charset.defaultCharset().name());
System.out.println(Charset.isSupported("UTF-8"));
final Charset UTF8_CHARSET = Charset.forName("UTF-8");
try {
byte[] byteArray = new byte[] {34,34,0};
String str = new String(byteArray,UTF8_CHARSET);
System.out.println("String*** "+str);
System.out.println("String to Hex *** "+stringToHex(str));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Печать выводится как
windows-1252
true
String*** ""
Заметьте, что после "" в выводе строки у меня есть символ spl, который я не получаю в enix * 1007