¿Qué es -1 y -2 que muestra IntelliJ Debugger en una cadena UTF8 y cómo eliminarlo? [duplicar]

Dec 08 2020

Al analizar mi cadena de un archivo en Windows 10, tengo dos caracteres que no se pueden eliminar con espacios en blanco y tal.

Aquí hay evidencia del culpable.

Esto arruina un poco mi expresión regular ^(\w+)porque sucede que hay un espacio en blanco en ella. Cuando copio el valor de la cadena (captura de pantalla) en RegExr, por ejemplo, veo que se agrega un espacio en blanco, y es por eso que mi expresión regular funcionará en red.

Ya busqué en Google -1 -2 in UTF-8 stringpero no pude encontrar nada y, por lo tanto, estoy muy confundido con eso.

Respuestas

2 Blindy Dec 08 2020 at 02:09

Su depurador está siendo tonto al mostrarlos como -1 y -2 respectivamente, pero está lo suficientemente claro que está tratando con la lista de materiales UTF-16 (no UTF-8 como afirma en la pregunta, esa es una lista de materiales de 3 bytes marcador que es completamente diferente).

Siéntase libre de verificar su presencia y eliminarlos si los encuentra al comienzo de un archivo, aunque lo ideal es guardar su archivo sin la lista de materiales en primer lugar.