Los caracteres negros son causados por Notepad++ no poder mapear esas secuencias de bytes a un punto final UTF-8 que pueda ser visualizado. Como sabrás, cada carácter se almacena como una serie de bytes. En este caso, esos bytes son
En hexadecimal
ED A0 BD ED B8 8A
En binario
1110 1101 1010 0000 1011 1101 1110 1101 1011 1000 1000 1010
Esto nos lleva a tus preguntas.
¿Cuál es la codificación de esos caracteres negros?
Estos son dos caracteres UTF-8. Más específicamente, el primero ED A0 BD
es lo que se llama un 'surrogado alto' y el segundo ED B8 8A
es un 'surrogado bajo'. Juntos, forman un surrogado UCS. Ahora que sabemos que estos son caracteres de sustitución, podemos calcular el par de surrogados al revés.
Si buscas estas secuencias de bytes en la tabla de puntos de código UTF-8, encontrarás que el primero se mapea a U+D83D
y el segundo se mapea a U+DE0A
. Por lo tanto, el par es D83D+DE0A. Esto se mapea a U+1F60A, que es... redoble de tambores ¡Una carita sonriente!
Entonces, la secuencia que estás viendo... es una carita sonriente.
Una expresión regular para encontrar estos caracteres
Ahora que sabemos esto, podemos usar regex para encontrar secuencias como esta de la siguiente manera:
\x{D83D}\x{DE0A}
Y luego para la pregunta que agregaste en los comentarios más tarde (esto es una edición).
¿hay alguna otra utilidad que pueda encontrar los caracteres que no están en UTF-8 en mi archivo csv?
He demostrado ahora que los caracteres en tu archivo son UTF-8. Sin embargo, para responder aún así a tu pregunta, si deseas una herramienta para intentar encontrar manualmente la codificación de algunos caracteres, puedes usar este sitio web. Aquí puedes ingresar algún texto, especificar la codificación y transformarlo en otra codificación para ver a qué caracteres se mapea.