Substituir dado char com ASCII nul no Notepad ++

0

Eu tentei a pesquisa estendida - > substitua por \n , mas parece não funcionar. Em vez disso, elimina todas as ocorrências do personagem. Poderia ser um bug?

NB: substituindo por \r\n , %code% e trabalhos semelhantes na pesquisa estendida.

Estou usando o Notepad ++ 6.4.1 Unicode.

    
por Mr_and_Mrs_D 07.07.2013 / 21:54

5 respostas

0

Relatado como um bug aqui - por favor, comente lá, espero que seja corrigido - parece um possível lata de vermes para mim.

Referências:

por 03.11.2013 / 13:29
1

Teste \d### (onde # é um único dígito no intervalo de 0 a 9).

Veja sequências de escape suportadas no modo estendido para mais.

Editar: Parece que \ d, \ u, \ x etc. não funcionam corretamente quando se trata de substituir pelo caractere NUL . A pesquisa funciona bem (eu inseri alguns NUL s usando um editor hexadecimal), mas substituo os não e simplesmente exclui os caracteres.

    
por 07.07.2013 / 23:14
1

Até onde eu sei, o Notepad ++ sempre teve problemas com a inserção de 0 caracteres. O Notepad ++ não é exceção: a maioria dos editores não consegue lidar adequadamente com isso.
Não é realmente surpreendente. Lidar com caracteres 0 é uma aplicação bastante específica.

O único editor do Windows que eu conheço que pode manipular 0's como qualquer outro caractere é o UltraEdit.
(E também tem um modo de edição hexadecimal, então, de uma forma ou de outra, você pode terminar o trabalho com ele.)

    
por 08.07.2013 / 00:10
1

Pesquisas na internet mostraram que inserir NUL no Notepad ++ não é trivial, por exemplo, veja Como inserir um caractere nulo (ASCII 00) no bloco de notas?

Uma maneira estranha de substituir determinado personagem / personagem com NUL é através do Plugin do Editor Hex .

  1. Vá para o modo hexadecimal (via Plugins → Editor HEX → Exibir em HEX, ou Ctrl + Alt + Deslocamento + H )
  2. Realce o (s) caractere (s) que você deseja substituir.
    • Você pode realçá-lo na coluna "Dump" ou na coluna "0 | 1 | ... | f".
  3. Ctrl + H para abrir o menu Substituir.
    • Altere "Tipo de dados" para "Hexadecimal".
    • Os caracteres destacados serão exibidos em "Localizar o que" (como uma sequência hexadecimal)
    • Insira "00" no campo "Substituir por" (que é um byte nulo)
  4. Pressione "Substituir" ou "Substituir tudo".

Disclaimer: Eu ouvi em algum lugar que o plugin Hex Editor é buggy, mas eu usei apenas ocasionalmente no passado (funcionou bem, mas sua quilometragem pode variar), então eu realmente não sei a extensão do seu bugginess.

Você pode instalá-lo através do Plugin Manager do Notepad ++ (Plugins → Plugin Manager → Mostrar Gerenciador de Plugin), mas pode ser necessário verificar "Mostrar plugins instáveis" em "Configurações" do Plugin Manager. o plugin para aparecer

    
por 08.07.2013 / 00:42
0

Como inserir qualquer valor de byte em um texto:

  1. Npp - > Plugins - > Python Script - > %código%
  2. Selecione onde salvar ... e forneça o nome New Script (digamos)
  3. no Npp doc aberto insira este código:

        s= notepad.prompt('Enter value, or series, in a box, e.g.: \x5Cx00 ','Insert a byte ')
        exec("a=b'{}'".format(s))
        editor.addText(a)
    
  4. insert a byte .

  5. Reinicie o Save

  6. Então você deve ver o próprio script no menu:% Npp - > Npp - > Plugins - > Python Script - > Script
  7. Se você quiser um atalho para isso, veja como: Quebra de texto com aspas no bloco de notas ++
por 27.07.2013 / 22:05