2011-11-08 17 views
13

Tengo un archivo binario. Este archivo contiene una cadena UTF-8. Además, se garantiza que esta cadena sea solo una palabra. En python, ¿cómo puedo obtener el número de letras en esta cadena?python obtener tamaño de cadena Unicode

Digamos, abrí este archivo y leer bytes:

bytes = open("1.dat", "rb").read() 

ahora qué tengo yo que ver para averiguar la longitud (en letras, no en bytes) de cadena UTF-8?

+0

¿Cuál es la relevancia de "se garantiza que esta cadena es solo una palabra"? –

+2

No abra el archivo en modo binario. Ábrelo con 'codecs.open' y dale un argumento de codificación. Problema resuelto. – tchrist

Respuesta

28
unicode_string = bytes.decode("utf-8") 
print len(unicode_string) 
+2

En Python 3, puede establecer 'bytes = len (abrir ('1.dat', encoding = 'utf-8'). Read())' – Cito

Cuestiones relacionadas