Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

431
Views
¿Por qué en Intellij IDEA la presencia del carácter unicode ENQ/ESA en el código hace que muestre errores literales de múltiples caracteres falsos?

Estaba tratando de solucionar algunos problemas extraños de reasignación de PDF Unicode cuando me quedé atascado con este problema en el que agregar un carácter ENQ Unicode a alguna parte del código le impide compilar el código e IDE le presentará lo que creo que es una falsa alarma ( error).

Considere este ejemplo de código Kotlin completamente válido y llamémoslo Programa A donde, lamentablemente, no puede ver los caracteres reales aquí entre apóstrofes, pero créame, hay un carácter allí (si copia este código en su IDE, puede ver esos caracteres) .

 package yamin fun main() { val foo = mutableListOf('') //val bar = mutableListOf('') println(foo) }

Sin embargo, puedes verlos en la imagen.

Programa A

Pero si decide compilar este código de alguna manera, IDE falla al compilarlo y afirma que hay ' Demasiados caracteres en un carácter literal ' en la línea 4 .

programa un falso error

Lo que es interesante es que la mera presencia del carácter ENQ incluso en una línea de comentario evita que el IDE compile este código y si elimina la línea 5 , por lo tanto, elimina la presencia del carácter ENQ, entonces puede compilar este código (llamémoslo Programa B ), observar:

Programa B

De todos modos, si decide eliminar la línea 4 en el Programa A y descomentar la línea 5 , también puede compilar ese código (llamémoslo Programa C ).

ingrese la descripción de la imagen aquí

Entonces, recapitulemos que el Programa A no es válido y la línea 4 es la culpable de la invalidez, pero eliminar la línea 5 en ese programa que nos deja con el Programa B podría compilarse con éxito y esta situación se repite para el Programa C.

¿Que me estoy perdiendo aqui?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Parece un error en el compilador de Kotlin, porque el error ocurre incluso si el código se compila con la línea de comandos: kotlinc enq.kt -include-runtime -d enq.jar

Además, este sencillo programa da diferentes resultados en el patio de recreo (correcto):

ingrese la descripción de la imagen aquí

y localmente (incorrecto):

ingrese la descripción de la imagen aquí

Como solución, puede usar la sintaxis de secuencia de escape Unicode (al menos para el símbolo ENQ):

ingrese la descripción de la imagen aquí

Playground hace lo mismo cuando pasa este código al servidor, por lo que el compilador obtiene un código desinfectado: ingrese la descripción de la imagen aquí

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!