Red de conocimientos sobre prescripción popular - Enciclopedia de Medicina Tradicional China - ¿Cómo divide Lua las cadenas chinas? A = "Soy de China" ¿El resultado de string.len es 15? ¿Cómo debo leer?

¿Cómo divide Lua las cadenas chinas? A = "Soy de China" ¿El resultado de string.len es 15? ¿Cómo debo leer?

¿Tu cadena de búsqueda? ¿"Soy de China"? Si la longitud es 15, lo más probable es que la cadena esté codificada en UTF-8. En la codificación UTF-8, un carácter chino suele ocupar 3 bytes, por lo que cinco caracteres chinos ocupan 15 bytes.

Si puede asegurarse de que sus cadenas sean todas caracteres chinos y estén codificadas en UTF8, puede definir la siguiente función:

A= "Soy de China"

p>

¿Función? get_chinese_char(str,?index)

¿Local? ¿comenzar? =?(índice-1)? *?3?+?1

¿Volver? str:sub(inicio, inicio?+?2)

Fin

print(get_chinese_char(a,?3));