Grep piensa que el archivo de texto es binario, pero no lo es

Me encontré con un.cpp archivo en nuestra base de código que grep considera binario. Así que no puedo entenderlo como un archivo de texto, lo cual es molesto y obviamente no es cómo deberían ser las cosas. Entonces, quiero saber por qué grep piensa que el archivo es binario y abordar el problema.

Traté de encontrar cualquier personaje fuera de lo común usando el comando

grep -Pna --color -r "[\x00-\x08]|[\x10-\x19]|[\x80-\xFF]" test.cpp

pero no produce coincidencias

¿Cómo puede descubrir la causa de este problema?

Debo mencionar que estoy en Windows Git Bash.

Salida de locale:

LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_ALL=

Respuestas a la pregunta(1)

Su respuesta a la pregunta