Main Content

Valores Unicode y ASCII

MATLAB® almacena todos los caracteres como caracteres Unicode® utilizando la codificación UTF-16, donde cada carácter se representa con un valor de código numérico (Unicode incorpora el conjunto de caracteres de ASCII como los primeros 128 símbolos, por lo que los caracteres ASCII tienen los mismos códigos numéricos en Unicode y en ASCII). Tanto los arreglos de caracteres como los de cadenas utilizan esta codificación. Puede convertir caracteres a sus valores de código numérico utilizando varias funciones de conversión numérica. Puede convertir números a caracteres utilizando la función char.

Convertir caracteres a valores de código numérico

Puede convertir caracteres a enteros que representen sus valores en el código Unicode. Para convertir un único carácter o un arreglo de caracteres, utilice cualquier de estas funciones:

  • double

  • uint16, uint32 o uint64

Se recomienda utilizar la función double. Sin embargo, si necesita almacenar los valores numéricos como enteros, utilice enteros sin signo con al menos 16 bits, ya que MATLAB utiliza la codificación UTF-16.

Convierta un vector de caracteres a valores del código Unicode utilizando la función double.

C = 'MATLAB'
C = 
'MATLAB'
unicodeValues = double(C)
unicodeValues = 1×6

    77    65    84    76    65    66

No puede convertir caracteres de un arreglo de cadenas directamente a valores del código Unicode. En concreto, la función double convierte cadenas a los números que representan, al igual que la función str2double. Si double no puede convertir una cadena a un número, entonces devuelve un valor NaN.

str = "MATLAB";
double(str)
ans = NaN

Para convertir caracteres de una cadena, convierta primero la cadena a un vector de caracteres o utilice llaves para extraer los caracteres. Después, convierta los caracteres utilizando una función, como double.

C = char(str);
unicodeValues = double(C)
unicodeValues = 1×6

    77    65    84    76    65    66

Convertir valores de código numérico a caracteres

Puede convertir valores Unicode a caracteres utilizando la función char.

D = [77 65 84 76 65 66]
D = 1×6

    77    65    84    76    65    66

C = char(D)
C = 
'MATLAB'

Uno de los usos habituales de char es crear caracteres que no puede escribir y añadirlos a cadenas. Por ejemplo, cree el carácter para el símbolo del grado y añádalo a una cadena. El valor del código Unicode para el símbolo del grado es 176.

deg = char(176)
deg = 
'°'
myLabel = append("Current temperature is 21",deg,"C")
myLabel = 
"Current temperature is 21°C"

Para obtener más información sobre Unicode, incluidas aplicaciones entre los caracteres y los valores del código, consulte Unicode.

Consulte también

| | | | | | | | | | |

Temas relacionados

Sitios web externos