Os caracteres pretos são causados pelo Notepad ++ não conseguir mapear essas sequências de bytes para um ponto final UTF-8 que pode ser visualizado. Como você deve saber, cada caractere é armazenado como uma série de bytes. Neste caso, esses bytes são
Em hexadecimal
ED A0 BD ED B8 8A
Em binário
1110 1101 1010 0000 1011 1101 1110 1101 1011 1000 1000 1010
Isso nos leva às suas perguntas.
What is the encoding of those black characters?
Estes são dois caracteres UTF-8. Mais especificamente, o primeiro ED A0 BD
é o que é chamado de 'alto substituto' o segundo ED B8 8A
é um 'baixo substituto' . Juntos, eles formam um substituto do UCS . Agora que sabemos que esses são caracteres substitutos, podemos inverter o cálculo do par substituto .
Se você procurar essas sequências de bytes no código UTF-8 tabela de pontos , você descobrirá que o primeiro mapeia para U+D83D
e o segundo mapeia para U+DE0A
. Assim, o par é D83D + DE0A. Este mapeia para U + 1F60A, que é ..... drumroll Um smiley !
Então, a sequência que você está olhando ... é um sorriso.
A regular expression to find these characters
Agora que sabemos disso, podemos usar o regex para encontrar sequências como esta:
\x{D83D}\x{DE0A}
E, em seguida, para a pergunta que você adicionou nos comentários depois (isso é uma edição).
is there any other utility I can find the characters which are not in UTF8 in my csv file.
Eu mostrei agora que os caracteres em seu arquivo são UTF-8. No entanto, para continuar respondendo à sua pergunta, se você quiser que uma ferramenta tente manualmente e encontre a codificação de alguns caracteres, use este site . Aqui você pode inserir algum texto, especificar a codificação e transformá-lo em outra codificação para ver com quais caracteres ele é mapeado.