Descripción
UTF-8 divide los caracteres Unicode en varios grupos, en función del número de bytes necesarios para codificarlos. El número de bytes depende exclusivamente del código de carácter asignado por Unicode y del número de bytes necesario para representarlo. La distribución de caracteres es la siguiente:
Caracteres codificados con un byte: Los incluidos en US-ASCII, un total de 128 caracteres.
Caracteres codificados con dos bytes: Un total de 1920 caracteres. Este grupo incluye los caracteres romances más signos diacríticos, y los alfabetos griego, cirílico, copto, armenio, hebreo, árabe, siríaco y Thaana entre otros.
Caracteres codificados con tres bytes: Caracteres del plano básico multilingüe de Unicode, que unido al grupo anterior, incluye la práctica totalidad de caracteres de uso común, entre ellos los caracteres del grupo CJK: Chino, japonés y coreano.
Caracteres codificados con cuatro bytes: Caracteres del plano suplementario multilingüe. Símbolos matemáticos y alfabetos clásicos para uso principalmente académico: Lineal B silábico e ideográfico, alfabeto persa, fenicio... Y el plano suplementario ideográfico: caracteres Han de uso poco común.
Una propiedad importante de la codificación es que los bits más significativos del primer byte de una secuencia multi-byte determinan la longitud de la secuencia. Estos bits más significativos 110 para secuencias de dos bytes; 1110 para secuencias de tres bytes, etc. Estos bits además proporcionan la información de sincronía que permite identificar el inicio de un símbolo.
public void run() {
Character caracter = 'u0000'; int count = 0;
while (caracter != 'u00FF') { //&& caracter != 'Z'
//System.out.println(caracter++); "\u"+
count++;
if(count != 26) {
System.out.print(Integer.toBinaryString(caracter++ | 0x10000).substring(0x9)+" "
;
}else{
System.out.print(Integer.toBinaryString(caracter++ | 0x10000).substring(0x9)+"n"
;
count = 0;
}
}
System.out.println(Integer.toBinaryString(caracter | 0x10000).substring(0x9));
}
UTF-8 divide los caracteres Unicode en varios grupos, en función del número de bytes necesarios para codificarlos. El número de bytes depende exclusivamente del código de carácter asignado por Unicode y del número de bytes necesario para representarlo. La distribución de caracteres es la siguiente:
Caracteres codificados con un byte: Los incluidos en US-ASCII, un total de 128 caracteres.
Caracteres codificados con dos bytes: Un total de 1920 caracteres. Este grupo incluye los caracteres romances más signos diacríticos, y los alfabetos griego, cirílico, copto, armenio, hebreo, árabe, siríaco y Thaana entre otros.
Caracteres codificados con tres bytes: Caracteres del plano básico multilingüe de Unicode, que unido al grupo anterior, incluye la práctica totalidad de caracteres de uso común, entre ellos los caracteres del grupo CJK: Chino, japonés y coreano.
Caracteres codificados con cuatro bytes: Caracteres del plano suplementario multilingüe. Símbolos matemáticos y alfabetos clásicos para uso principalmente académico: Lineal B silábico e ideográfico, alfabeto persa, fenicio... Y el plano suplementario ideográfico: caracteres Han de uso poco común.
Una propiedad importante de la codificación es que los bits más significativos del primer byte de una secuencia multi-byte determinan la longitud de la secuencia. Estos bits más significativos 110 para secuencias de dos bytes; 1110 para secuencias de tres bytes, etc. Estos bits además proporcionan la información de sincronía que permite identificar el inicio de un símbolo.
public void run() {
Character caracter = 'u0000'; int count = 0;
while (caracter != 'u00FF') { //&& caracter != 'Z'
//System.out.println(caracter++); "\u"+
count++;
if(count != 26) {
System.out.print(Integer.toBinaryString(caracter++ | 0x10000).substring(0x9)+" "

;
}else{
System.out.print(Integer.toBinaryString(caracter++ | 0x10000).substring(0x9)+"n"

;
count = 0;
}
}
System.out.println(Integer.toBinaryString(caracter | 0x10000).substring(0x9));
}