【问题标题】:Removing "NUL" characters删除“NUL”字符
【发布时间】:2013-10-20 09:47:28
【问题描述】:

我的记事本++中有这样的字符

当我试图复制整行时,我实际上是在复制所有内容,直到“NUL”:

File:1

我想要做的是替换那些 null,什么都不是,所以我可以复制我的整行。 也许有任何关键字会告诉notepad++(或任何其他可能有帮助的程序)替换这些字符? 当我选择它时,使用右键单击然后“清除”,它就消失了 - 但我不想一一做。

我不关心消除这个问题的原因,只关心效果(NULs)

【问题讨论】:

    标签: null char notepad++


    【解决方案1】:

    这可能会有所帮助,我曾经这样整理我的文件: http://security102.blogspot.ru/2010/04/findreplace-of-nul-objects-in-notepad.html

    基本上你需要用正则表达式替换\x00个字符

    【讨论】:

    • 是的,这就是我想要的。非常感谢:)
    • 请注意,您应该尝试“\x00”、“\00”或“\0”。对我来说,\x00 和 \00 不起作用。我需要使用 \0 作为替换字符。
    • @JohnAugust 非常感谢你。 \x00 一直在寻找“正常”空格以及 NUL 字符。
    • Thx 想在 .dmp 文件中搜索一大块多行文本。但是不幸的是,记事本对我来说崩溃了,可能是因为转储的大小
    【解决方案2】:

    尝试查找和替换。在查找文本框中键入 \x00,选中正则表达式选项。将替换文本框留空,然后单击全部替换。查找和替换的快捷键是 ctrl+H。

    【讨论】:

    • 使用 \x00 查找。您可能需要检查正则表达式选项。
    • 你必须使用正则表达式,这个答案是错误的,因为显然你可以像这样复制一个特殊的字符
    • 我根据 SO 的问题给出了答案,他是在记事本 ++ 上而不是记事本上问的。我不知道为什么人们对我的答案投反对票,而其他人却对 AlexShumilov 的答案投赞成票。
    【解决方案3】:

    突出显示单个空字符,goto find replace - 它通常会自动将突出显示的文本插入到查找框中。在替换框中输入空格或留空。

    【讨论】:

    • 这不适用于 Notepad++ 中的 NUL 字符。它确实适用于许多其他 ASCII 特殊字符,例如 BEL,但 NUL 只能使用扩展转义码或 RegEx 找到。
    【解决方案4】:

    点击搜索 --> 替换 --> 查找内容:\0 替换为:“空” 搜索模式:扩展 --> 全部替换

    【讨论】:

    • 扩展是为了什么??
    • @rimiro 在某种意义上扩展了特殊转义字符(基本的正则表达式元字符,如 \n 等),而不仅仅是键入的字符。
    【解决方案5】:

    我尝试使用 \x00,但在使用 C# 和 Regex 时它对我不起作用。我在以下方面取得了成功:

    //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(), "");  
    

    【讨论】:

    • 这和Notepad++有什么关系?
    • OP 询问了 notepad++ 或任何其他可能有帮助的程序。您能否用一些额外的代码更新答案以使其完整,以便它可以帮助 .Net 中的其他新手(即从驱动器读取文本文件,替换 nul 字符,保存回文本文件,我的意思是 this,以及如何在没有 VS 的情况下启动 C# 代码,例如只使用 csc.exe)。
    【解决方案6】:

    打开记事本++
    选择替换 (Ctrl/H)
    查找内容:\x00
    替换为:
    单击单选按钮 正则表达式
    点击全部替换

    【讨论】:

      【解决方案7】:

      我遇到了同样的问题。以上使我走上了正确的轨道,但在我的情况下并不完全正确。所做的工作密切相关:

      • 在 Notepad++ 中打开文件
      • 键入 Control-A(全选)
      • 键入 Control-H(替换)
      • 在“查找内容”中输入\x00
      • 在“替换为”中留空
      • 在“搜索模式”中选择“扩展”
      • 然后点击“全部替换”

      【讨论】:

        猜你喜欢
        • 2016-03-16
        • 2018-07-27
        • 2013-03-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-02-25
        • 1970-01-01
        相关资源
        最近更新 更多