Cadena sin formato y cadena Unicode en Python

Neema Muganga 3 enero 2023
  1. Cadena sin procesar en Python
  2. Cadena Unicode de Python
Cadena sin formato y cadena Unicode en Python

Cadena sin procesar en Python

Los literales de cadena sin formato en Python definen cadenas normales que tienen como prefijo una r o una R antes de la cita de apertura. Si hay una barra invertida (\) en la cadena, la cadena sin procesar trata este carácter como un carácter literal pero no como un carácter de escape.

Por ejemplo,

print(r"\n")
print(r"\t")

Producción :

\n
\t

Se requiere duplicar cada barra invertida al definir una cadena para que no se confunda con el comienzo de una secuencia de escape como una nueva línea o la nueva pestaña. Vemos tal aplicación de sintaxis en la sintaxis de expresiones regulares y al expresar rutas de archivos de Windows.

NOTA
r'\' generará un error de sintaxis porque r trata la barra invertida como un literal. Sin el prefijo r, la barra invertida se trata como un carácter de escape.

Ejemplo:

text = "Hello\nWorld"
print(text)

Producción :

Hello
World

Sin el indicador de cadena sin formato r, la barra invertida se trata como un carácter de escape, por lo que cuando se imprime la cadena anterior, se genera la secuencia de escape de la nueva línea. Por lo tanto, las dos cadenas del texto se imprimen en líneas separadas, como se muestra en la salida.

Usando el mismo ejemplo de texto, agregue el prefijo r antes de la cadena.

Ejemplo:

text = r"Hello\nWorld"
print(text)

Producción :

Hello\nWorld

Desde la salida, la bandera de cadena sin procesar trata la barra invertida como un literal e imprime el texto con la barra invertida incluida. Por lo tanto, la entrada y la salida son iguales porque el carácter de barra invertida no se escapa.

Por ejemplo, '\\n' y r'\n' tienen el mismo valor.

print("\\n")
print(r"\n")

Cadena Unicode de Python

Unicode es una forma de almacenar cadenas de Python. Unicode puede almacenar cadenas de todos los tipos de idiomas. La segunda forma es el tipo ASCII de almacenamiento de cadenas representado como str en Python. str es el tipo de datos predeterminado para almacenar cadenas en Python.

Para convertir una cadena a tipo Unicode, ponga una u antes del texto como este - u'string' o llame a la función unicode() así - unicode('string').

u'text' es una cadena Unicode mientras que text es una cadena de bytes. Un objeto Unicode ocupa más espacio en la memoria.

Por ejemplo,

test = u"一二三"
print(test)

Producción :

一二三

Artículo relacionado - Python String