Cómo convertir el valor de char a ascii en el lenguaje kotlin

Estoy desarrollando una aplicación de Android con kotlin en la que necesito convertir un carácter de cadena a su valor ASCII ,

 fun tryDiCript(cypher: String) :String { var cypher = "fs2543i435u@$#g#@#sagb@!#12416@@@" var originalText = "" var regEx =Regex("[az]") for(char in regEx.findAll(cypher)) { originalText += (char.value.toInt()).toString() } return originalText } 

este website tutorial me mostró usar char.toInt() pero da error de time de ejecución diciendo

Causado por: java.lang.NumberFormatException: Invalid int: "u"

Entonces, ¿cómo es posible que alguien más caliente para convertir el valor de char a ASCII me ayude?

char.value es una String . Cuando se llama a String.toInt() , se espera que una cadena numérica como "1", "-123" se analice en Int . Entonces, "f".toInt() le dará NumberFormatException ya que "f" no es una cadena numérica.

Si está seguro de que char.value es una String contiene exactamente un solo carácter. Para get el valor de ascii, puede usar:

 char.value.first().toInt() 

Dijiste ascii , no unicode . Entonces es fácil.

Este es un ejemplo que le muestra cómo convertir un carácter ( 'A' ) a su valor ascii.

 fun main(vararg args: String) { println('A'.toByte().toInt()) } 

El resultado es lo que esperábamos, 65.

Tenga en count que esto no funciona con Unicode.

Editar 1

Supongo que esto funciona.

 fun tryDiCript(cypher: String): String { var cypher = "fs2543i435u@$#g#@#sagb@!#12416@@@" var originalText = "" var regEx = Regex("[az]") for(char in regEx.findAll(cypher)) originalText += char.value[0].toInt().toString() return originalText } 

Y te recomiendo que uses StringBuilder .

 fun tryDiCript(cypher: String): String { var cypher = "fs2543i435u@$#g#@#sagb@!#12416@@@" val originalText = StringBuilder() var regEx = Regex("[az]") for(char in regEx.findAll(cypher)) originalText.append(char.value[0].toInt()) return originalText.toString() } 
  • ¿Cómo acceder a los campos estáticos con reflect en kotlin?
  • Crear un propio DataSource con properties de resorte
  • Las properties de beans no nulas durante la initialization se vuelven nulas durante la invocación del método @Transactional
  • Evite que Kotlin fuerce a Java a ver un tipo de comodín
  • Robolectric addResolveInfoForIntent no funciona
  • Kotlin REPL con Android Classes unStub! Ed
  • ¿Cómo hacer un time de compilation constante NaN o POSITIVE_INFINITY en Kotlin?
  • Versión de Android Studio 3 Kotlin
  • Corotines de Kotlin: ajuste el uso sincrónico de cassandra frente a la traducción del uso asynchronous
  • Cómo lanzar Cadena en Int y Largo?
  • ¿Cómo puedo hacer esta function de una manera funcional de progtwigción?