问题标签 [non-printing-characters]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
154 浏览

linux - 如何翻译和删除不可打印的字符?

我知道有很多方法可以删除 Linux 中的不可打印字符,例如sedtr。但我想将它们作为cat命令打印删除。这是我的示例文件,它来自telnet

还有一些额外的字符,包括不可打印和可打印的字符,如、^[^H^M等。当我使用打印文件时,结果显示:[J--More-- (END)cat

这就是我想要的。但是,只能使用sed并且tr只能删除除[J,之外的不可打印字符--More-- (END)
那么如何像cat节目一样将它们全部删除呢?在我看来,这是一种“翻译”方式,而不是“删除”方式。

0 投票
3 回答
1384 浏览

php - 如何删除字符串中的所有不可打印字符并保留一些?

我正在使用这个

$string = preg_replace('/[\x00-\x1F\x7F\xA0]/u', '', $string);

该正则表达式来自此链接PHP: How to remove all non printable characters in a string?

正则表达式正在删除\n,但我想保留它。我该怎么办?

我认为\n000A,所以我尝试过这样的事情(它会使所有的正则表达式停止工作) $string = preg_replace('/[\x00-\x1F\x7F\xA0[ˆ\x0A]]/u', '', $string);

我很感激任何帮助。

0 投票
1 回答
737 浏览

sql-server - 在批量插入查询中使用不可打印字符(除 \0 \n \t 外)作为字段终止符参数

我不敢相信这在某处没有得到解答,但我搜索了 MSDN、Stack Exchange 和 Google。我开始怀疑我想这样做是不可能的。

有没有人知道使用 SQL-server 在查询中执行此操作的方法(不使用其他工具,我已经看到使用 SSIS 的答案)?

假设我有一个 CSV 文件,其中包含由 SOH (StartOfHeader, char(1)) 和 \n als 行终止符终止的字段。我以为我可以使用 BULK INSERT 导入它,例如:

这样做可以,除了不接受 char(1) 。

有没有办法将 FIELDTERMINATOR 设置为 char(1)?

后记1:

JeroenMostert 在评论中建议使用 select char(1),并将其复制粘贴在 FIELDTERMINATOR 的单引号之间,这是不可见但有效的。

后记2:

HoneyBadger 建议使用 0x01,这似乎也有效:

把它放在一个答案中,我会接受它

0 投票
0 回答
347 浏览

ascii - 如何在 x86_64 汇编器(yasm)中将不可打印的 ASCII 字节传递给 STDIN 文件描述符

问题

假设我有一个x86_64汇编程序(见下文),它在某个时刻yasm通过系统服务请求用户输入。SYS_read该输出在程序中被进一步视为字节数。用户可以轻松地提供与可打印 ASCII 符号对应的所有数字,即从0x200x7f(可能更多)。但是如何提供0x90例如?

几个字符的可能解决方案

我可以使用以下组合来提供所需的数字:

但是当需要输入许多字符时,这种解决方案可能会很繁琐。

程序片段

这是负责从 STDIN 读取的程序部分。

0 投票
1 回答
38 浏览

matlab - 文本输出出现错误并包含莫名其妙的符号

当我运行我的代码时,输​​出看起来像一个错误。关于这个还能做什么?

这是我的代码中执行打印的部分:

代码的输出是:

0 投票
0 回答
707 浏览

java - 如何从手持扫描仪读取/获取不可打印的字符

我的目标是从使用手持式扫描仪读取的二维条码中获取代码并对其进行解码。

该代码符合 GS1 128。代码的结构可以包括“组分隔符”来分隔代码的各个部分。

我需要阅读此组分隔符以识别部分代码。

我的问题是:“组分隔符”是 unicode 字符“GS”十六进制:001D,十进制:29。

它是一个非打印/空白字符。我无法直接从 Scan in java 应用程序中读取它(我想将它放在 JtextField 中)。GS 每次都被删除。

每次都删除使用 System.in GS 的 InputStream 类时,我无法读取它。

但:

如果我用 notepad++ 阅读代码: GS 不会被删除。如果我将代码从 notepad++ 复制到 java 应用程序:它可以工作,GS 不会被删除。

如果我使用 Windows 控制台(cmd.exe)阅读代码。它也有效。

我看不出我的问题在哪里。我想它来自 System.in。我看到它可以使用std::noskipws格式标志在 C++ 中完成。

我给你一个代码示例以便更好地理解:来自 Notepad++

图像

从 Windows 控制台:

img2

谢谢您的帮助

我尝试的代码示例:

在这里,我尝试将“GS”替换为“)”以使其在 JtextField 中清晰可见。

它不适用于 Scan 中的数据,但适用于 Notepad++ 中的字符串复制/粘贴

0 投票
1 回答
2629 浏览

intellij-idea - 在 IntelliJ 的代码编辑器中搜索不可打印的字符(回车、制表符等)?

0 投票
1 回答
147 浏览

git - 为什么 Gitolite 在克隆时给出“无效的仓库名称”?

我正在尝试从运行 Gitolite 的服务器克隆一个 repo,但它给了我一个错误:

但是,我知道回购存在,因为ssh -p 1234 git@git.example.com info给出:

我什至从该输出中复制/粘贴了 repo 的名称,所以我知道我没有拼错它。

我正在 Windows 8 上的 Git Bash 中执行此操作。

为什么会发生这种情况,我该如何解决?

0 投票
1 回答
499 浏览

unix - 使用 sed 删除不可打印的字符不起作用

我正在使用 AIX unix 并尝试从文件中删除不可打印的字符, in Arizona w/ fiancÃÂÃÂÃÂ当我使用 UTF-8 编码在 Notepad++ 中查看时,数据看起来像在文件中。当我尝试在 unix 中查看文件时,我得到 ^▒▒^▒▒^▒▒^▒▒^▒▒^▒▒

我想用空格替换所有这些特殊字符,我的输出应该看起来像in Arizona w/ fianc

我试过sed 's/[^[:print:]]/ /g' file 了,但它没有删除那些字符。当我运行时,我的语言环境在下面列出locale -a

我什至尝试过sed -e 's/[^ -~]/ /g',它没有删除字符。

我看到其他堆栈流答案使用UTF-8带有 GNU sed 的语言环境,这有效,但我没有那个语言环境。

我也在使用ksh.

0 投票
1 回答
311 浏览

windows - 是否有代表数字 0-255 的字体或(更好!)一组 unicode 字符用于显示 ASCII 字符代码(或其他用途)?

我的字符串大多是标准的字母数字和其他可打印的 ASCII 字符,并且希望在 Windows 的控制台窗口中显示这些字符串。我正在寻找的是控制台字体或一组 unicode 字符,它们使用单​​个字形表示数字 0-255 (0-FF)。我知道的最接近的事情是 unicode 有一小组带圆圈的数字,1-20,其他地方的数字是 21-50。沿着这些思路,但对于 0-255(或 0-FF)是我想要找到的。

在我看来,这将是一个相对普遍的需求/愿望,但我一直无法找到解决方案。任何帮助表示赞赏!