Eu fiz exatamente o que a aula mandou (eu espero) e tenho esse código:
package br.com.alura.java.teste;
import java.io.UnsupportedEncodingException;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
public class TesteUnicodeEEncoding {
public static void main(String[] args) throws UnsupportedEncodingException {
String s = "ç";
System.out.println(s.codePointAt(0));
Charset charset = Charset.defaultCharset();
System.out.println(charset.displayName());
byte [] bytes= s.getBytes("UTF-8");
System.out.print(bytes.length + ", Utf-8, ");
String sNovo = new String(bytes, "UTF-8");
System.out.println(sNovo);
bytes= s.getBytes("UTF-16");
System.out.print(bytes.length + ", UTF-16, ");
sNovo = new String(bytes, "UTF-16");
System.out.println(sNovo);
bytes= s.getBytes(StandardCharsets.US_ASCII);
System.out.print(bytes.length + ", US_ASCII, ");
sNovo = new String(bytes, "US-ASCII");
System.out.println(sNovo);
}
}
mas o que sai no console é o seguinte:
231
UTF-8
2, Utf-8, �
4, UTF-16, �
1, US_ASCII, ?
E não sai o bendito do "ç" (pelo que eu vi na aula era pra sair com o utf-8). PS: Eu já fui nas propriedades e tentei trocar na marra, ainda não lê.
PS²: eu peguei o código dado no corpo da própria aula:
public class TesteUnicodeEEncoding {
public static void main(String[] args) throws UnsupportedEncodingException {
String s = "ç";
System.out.println(s.codePointAt(0));
Charset charset = Charset.defaultCharset();
System.out.println(charset.displayName());
byte[] bytes = s.getBytes("windows-1252");
System.out.print(bytes.length + ", windows-1252, ");
String sNovo = new String(bytes, "windows-1252");
System.out.println(sNovo);
bytes = s.getBytes("UTF-16");
System.out.print(bytes.length + ", UTF-16, ");
sNovo = new String(bytes, "UTF-16");
System.out.println(sNovo);
bytes = s.getBytes(StandardCharsets.US_ASCII);
System.out.print(bytes.length + ", US_ASCII, ");
sNovo = new String(bytes, "US-ASCII");
System.out.println(sNovo);
}
}
Ainda não vem o ç, ele me da isso no console:
231
UTF-8
1, windows-1252, �
4, UTF-16, �
1, US_ASCII, ?