如何可靠地剥离该断码不可见的字符?(How to reliably strip invisible

2019-06-26 09:21发布

我想建立一个书签,并与这个问题,我只是能够想出得到了抨击:一\u8203字符,因此Chrome无助地告诉我,在我的代码(后粘贴到JS控制台)块是`“无效字符非法的。”

幸运的是Safari浏览器是告诉我这是一个一\u8203

我编辑的崇高文本2编辑器的代码,并以某种方式复制进出(我也尝试文本编辑)无法删除它。

是否有某种形式的网站的某处,将剥离ASCII以外的所有字符?

当我尝试保存为ISO 8859,但它会保存回为UTF-8“因为不支持的字符”。

...是啊。 这才是重点。 摆脱我不支持的邪恶角色。

我应该做些什么? 编辑我的文件中的十六进制编辑器?

FYI我居然通过重新输入密码(这源于本网站的方式)解决了这个问题。

Answer 1:

嗯,我能想到的最简单的方法是使用sed

sed -i 's/[^[:print:]]//g' your_script.js
//            ^^^^^ this can also be 'ascii'

或使用tr

tr -cd '\11\12\15\40-\176' < old_script.js > new_script.js


Answer 2:

是否有某种形式的网站的某处,将剥离ASCII以外的所有字符?

你可以使用这个网站

您可以使用此代码重新创建的网站:

<!DOCTYPE html>
<html>

    <head>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8">
        <title>- jsFiddle demo</title>
        <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
        <link rel="stylesheet" type="text/css" href="/css/normalize.css">
        <link rel="stylesheet" type="text/css" href="/css/result-light.css">
        <style type="text/css">
            textarea {
                width: 800px;
                height: 480px;
                outline: none;
                font-family: Monaco, Consolas, monospace;
                border: 0;
                padding: 15px;
                color: hsl(0, 0%, 27%);
                background-color: #F6F6F6;
            }
        </style>
        <script type="text/javascript">
            //<![CDATA[ 
            $(function () {
                $("button").click(function () {
                    $("textarea").val(
                             $("textarea").val().replace(/[^\u0000-\u007E]/g, "")
                    );
                    $("textarea").focus()[0].select();
                });
            }); //]]>
        </script>
    </head>

    <body>
        <textarea></textarea>
        <button>Remove</button>
    </body>

</html>


Answer 3:

你可以使用正则表达式来筛选出的一切0-127。 例如在javascript:

text.replace(/[^\x00-\x7F]/g, "")

X00 = 0,0x7F部分= 127



Answer 4:

非技术性的解决方案:粘贴文本到Gmail中的新邮件,然后点击德克萨斯(清除格式,在格式菜单)。 为我工作。



文章来源: How to reliably strip invisible characters that break code?