Cómo manejar la cadena multibíe en Python
-
27-10-2019 - |
Pregunta
Hay funciones de cadena multibyte en PHP para manejar la cadena multibyte (por ejemplo: script CJK). Por ejemplo, quiero contar cuántas letras en una cadena de múltiples bytes usando usando len
función en python, pero devuelve un resultado inexacto (es decir, número de bytes en esta cadena)
japanese = "桜の花びらたち"
print japanese
print len(japanese)#return 21 instead of 7
¿Hay algún paquete o función como MB_strlen en PHP?
Solución
Usar Cadenas unicode:
# Encoding: UTF-8
japanese = u"桜の花びらたち"
print japanese
print len(japanese)
Nota la u
frente a la cuerda.
Para convertir un testrascre en unicode, use decode
: "桜の花びらたち".decode('utf-8')
Otros consejos
Intenta convertirlo en unicode
primero:
print len(japanese.decode("utf-8"))
Da 7. Está trabajando en la cadena codificada UTF-8, que de hecho tiene 21 bytes.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow