Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

438
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda