Eliminando caracteres "NUL"


94

Tengo personajes así en mi bloc de notas ++

captura de pantalla npp de NUL

Cuando intento copiar toda la línea, en realidad estoy copiando todo hasta "NUL":

File:1

Lo que quiero hacer es reemplazar esos nulos, para que no sean nada, para poder copiar toda mi línea. ¿Quizás hay alguna palabra clave que le dirá a notepad ++ (o cualquier otro programa que pueda ayudar) a reemplazar esos caracteres? Cuando lo estoy seleccionando, uso el botón derecho del ratón y luego "borrar", desapareció, pero no quiero hacerlo uno por uno.

No me importa eliminar la causa de este problema, solo el efecto (NUL)

Respuestas:


105

Esto podría ayudar, solía fijar mis archivos así: http://security102.blogspot.ru/2010/04/findreplace-of-nul-objects-in-notepad.html

Básicamente necesitas reemplazar \ x00 caracteres con expresiones regulares


Sí, eso es lo que estaba buscando. Muchas gracias :)
user2618929

7
Tenga en cuenta que debe intentar "\ x00", "\ 00" o "\ 0". Para mí, \ x00 y \ 00 no funcionaron. Necesitaba usar \ 0 para el carácter de reemplazo.
Hooplator 15 de

1
@JohnAugust muchas gracias por esto. \ x00 siguió encontrando espacios 'normales' así como los caracteres NUL.
Steffen Winkler

Thx quería buscar en un archivo .dmp un bloque de texto de varias líneas. Sin embargo, desafortunadamente, el bloc de notas se estrelló para mí probablemente debido al tamaño del vertedero
Mellester

38

Haga clic en Buscar -> Reemplazar -> Buscar qué: \ 0 Reemplazar con: "vacío" Modo de búsqueda: Extendido -> Reemplazar todo


¿Para qué sirve el extendido?
rimalonfire

@rimiro extendido en el sentido de que los caracteres de escape especiales (metacaracteres básicos de expresión regular como \ n etcétera) se pueden comparar en lugar de simplemente los caracteres escritos.
twobob

9

Yo estaba teniendo el mismo problema. Lo anterior me puso en el camino correcto pero no fue del todo correcto en mi caso. Lo que funcionó estuvo estrechamente relacionado:

  • Abra su archivo en Notepad ++
  • Escriba Control-A (seleccionar todo)
  • Escriba Control-H (reemplazar)
  • En el tipo "Buscar qué" \x00
  • En 'Reemplazar con' dejar EN BLANCO
  • En 'Modo de búsqueda' seleccionado 'Extendido'
  • Luego haga clic en 'Reemplazar todo'

5

Intente Buscar y reemplazar. escriba \ x00 en el cuadro de texto Buscar, marque la opción Expresión regular. Deje el cuadro de texto Reemplazar en blanco y haga clic en reemplazar todo. La tecla de atajo para buscar y reemplazar es ctrl + H.


6
encuentra con \ x00. Es posible que deba marcar la opción Expresión regular.
Miller

Debe

Estaba dando la respuesta según la pregunta de SO, él está preguntando en el bloc de notas ++ no en el bloc de notas. No sé por qué la gente vota en contra de mi respuesta y otras personas están apoyando la respuesta de Alex Shumilov.
Miller

2

Intenté usar \ x00 y no funcionó para mí cuando usaba C # y Regex. Tuve éxito con lo siguiente:

//The hexidecimal 0x0 is the null character  
mystring.Contains(Convert.ToChar(0x0).ToString() );  

// This will replace the character
mystring = mystring.Replace(Convert.ToChar(0x0).ToString(), "");  

¿Qué tiene esto que ver con Notepad ++?
ChrisWue

2

Abrir Notepad ++
Seleccionar Reemplazar (Ctrl / H)
Buscar qué: \ x00
Reemplazar con:
Haga clic en el botón de radio Expresión regular
Haga clic en Reemplazar todo


-1

Resalte un solo carácter nulo, vaya a buscar reemplazar: generalmente inserta automáticamente el texto resaltado en el cuadro de búsqueda. Ingrese un espacio o deje en blanco el cuadro de reemplazo.


8
Esto no funciona con el carácter NUL en Notepad ++. Funciona con muchos otros caracteres especiales ASCII, como BEL, pero NUL solo se puede encontrar usando códigos de escape extendidos o RegEx.
Ayelis
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.