public class UTF8 {
public static void main(String[] args){
String s = "ヨ"; //0xFF6E
System.out.println(s.getBytes().length);//length of the string
System.out.println(s.charAt(0));//first character in the string
}
}
uscita:java utf8 codifica - char, i tipi di stringa
3
ヨ
Ti prego, aiutami a capire questo. Cercando di capire come funziona la codifica utf8 in java. Come per la definizione java doc di char char: il tipo di dati char è un singolo carattere Unicode a 16 bit.
Significa che il tipo di carattere in java può supportare solo quei caratteri unicode che possono essere rappresentati con 2 byte e non più di quello?
Nel programma precedente, il numero di byte allocati per quella stringa è 3 ma nella terza riga che restituisce il primo carattere (2 byte in java) può contenere un carattere lungo 3 byte? davvero confuso qui?
Qualsiasi buon riferimento a questo concetto in java/general sarebbe molto apprezzato.
Vedere anche [Domande frequenti su Unicode] (http://www.unicode.org/faq/utf_bom.html#gen0). – McDowell