Cuando se trabaja con Strings Java que contienen caracteres de varios bytes , es necesario el uso de las funciones que soportan caracteres multibyte y cargar un juego de caracteres apropiado para mostrarlos. Codificaciones multibyte , como UTF - 8 , son útiles cuando se necesita para almacenar caracteres en idiomas distintos del inglés , como el japonés y el chino , que el juego de caracteres estándar no admite. El String de Java y las clases de caracteres pueden contener caracteres multibyte , pero no hay ninguna función simple incorporada en informarle si ellos o no. Para detectar caracteres de varios bytes , hay que circular de forma manual a través de cada carácter de la cadena y comprobar si los caracteres contienen más de un solo byte . Instrucciones
1
Abra el archivo de Java con un editor como NetBeans , Eclipse o JBuilder X.
2
Declarar las variables necesarias para detectar caracteres de varios bytes añadiendo el siguiente código en la parte superior de la función :
char [ ] c_array ;
cadena C_STRING ;
byte [ ] c_byte_array ;
resultado booleano ;
string str
;
3
Inicialice la variable " str " con un valor de texto , añadiendo el siguiente código en su función :
str = "text string muestra " ;
4
Recorrer cada personaje y comprobar si es multibyte añadiendo el siguiente código en su función :
c_array = str.toCharArray ();
resultado = false ;
para (char c: c_array )
{
C_STRING = Character.toString ( c ) ;
c_byte_array = c_string.getBytes ( "UTF - 8 ");
if ( c_byte_array.length > 1) spanish
{ System.out.println ( " Detectado un carácter multibyte . ") ;
resultado
= true;
break; (! resultado)
}
}
si
System.out.println ( " no se detectó ningún carácter multibyte. ");
El bucle convierte cada carácter en una cadena . A continuación, convierte la cadena en una matriz de bytes . Por último , se comprueba la longitud de la matriz de bytes . Una longitud mayor que uno indica un carácter multibyte presente en la cadena.
5
Guarde el archivo Java, compilar y ejecutar el programa para buscar una cadena de caracteres multibyte.
< Br >