问题标签 [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 投票
1 回答
658 浏览

java - 如何从控制台输入字符串中获取控制字符

我已经查看了建议的“已经回答”的问题。大多数情况下,他们只想丢弃这种“不可打印”的输入。我想用它。

我正在String使用从键盘输入返回的 UTF8

我有兴趣确定用户是否输入了例如向上箭头或向下箭头作为他们的击键之一。

遍历这里的chars,String我发现向下箭头转换为(intchar)27、91、66,即 3 chars。第一个值对应于Escape。因此,这似乎不是识别单曲Character并找出它是否不可打印的问题。

另外我不清楚为什么这个控制字符不能作为单个 UTF8 字符打印出来,而是作为 UTF8 字符的 3 个组成部分打印出来:这是否意味着当你遍历 a 时,String你实际上得到了它的内容逐字节?

我只是想知道在给定的 UTF8 字符串中是否有任何记录或巧妙的方法(查找和识别控制字符)。也许是 Apache Commons。或者也许在 Groovy 中(我实际上正在使用它,而不是 Java)?

0 投票
1 回答
852 浏览

cat - cat 文件的内容,将不可打印的字符显示为 \xNN

是否有任何 linux 命令行工具可以对可能与 UTF-8 字符串和不可打印字符混合的任何文件内容进行分类,但也将不可打印字符显示为 \xNN?

比如abc\xa1defg

PS:我不需要像 xxd 产生的两列输出,或者产生的空格分隔输出od

到目前为止,最接近的结果是: od -t c FILE

但我想要的是这样

发现了一个类似的问题:https ://unix.stackexchange.com/questions/176111/how-to-dump-a-binary-file-as-acc-string-literal

0 投票
0 回答
52 浏览

python - 如何在 python 中替换包含不可打印字符的子字符串?

我需要将一些大型文本文件自动导入到我的 python 脚本中,以进行一些数据整理和分析。我需要删除/修复不可打印字符的特定实例,以阻止 pandas read_csv() 将字符串拆分为新行。我正在使用 Jupyter Notebook 5.0.0,这是我将拥有的最新版本。

我有多个文本文件,其中包含 800,000 多行长度超过 500 个字符的字符串。这些字符串包含一个字符数组,其中一些字符由于在某些行中插入了 '\n' 中间字符串而以不合需要的方式处理。

我已经解决了这个问题,使用 PowerShell 对每个文件运行作为使用以下代码的短期手动修复:

我尝试使用open(filename.txt, 'rb').read()逐行输出的方法,但数据馈送太大。我逐渐增加了 jupyter_notebook_config.py 文件中的数据馈送,但它最终导致 Jupyter 无响应并崩溃而没有产生好东西。

我努力了:

基本上,文本文件已经在 '\n' 点拆分了行,pandas 不会覆盖格式或将其读取为原始文件。

0 投票
2 回答
451 浏览

python - 从具有数百万条记录的大型 CSV 文件中删除不需要的不可打印字符 - 在 Python 3 或 2.7 中

示例文件我收到用(逗号或 | 或 ^)分隔的包含数百万条记录的大型 CSV 文件。
某些字段具有不可打印的字符,例如 CR|LF,它被翻译为字段结尾。这是在windows10中。

我需要编写 python 来遍历文件并删除字段中的 CR|LF。但是,我不能全部删除,因为这样行将被合并。

我在这里浏览了几篇关于如何删除不可打印的帖子。我想写一个熊猫数据框,然后检查每个字段的 CR|LF 并将其删除。好像有点复杂。如果你有一个快速的代码如何做到这一点,这将是很大的帮助。

提前致谢。

示例文件:

示例输出文件应为:

CR = 回车 = x0d LF = 换行 = x0a

0 投票
1 回答
94 浏览

python - Python中读取word文件中的不可打印字符

我正在从 Word 文件中读取表格。下面是我读取word文件的代码:

所有commandName字符串末尾都有德语字符和 2 个不可打印字符。例如 :

commandName = Prüf\r\x07

我使用下面的代码删除了不可打印的字符,但它也从字符串中删除了德语字符。

有没有什么pythonic方法可以从字符串中删除不必要的字符?我想要的最终输出是:

commandName = Prüf

0 投票
3 回答
519 浏览

python - 如何从字符串中删除不可打印的字符?

我正在使用以下代码读取一个 word 文件:

我从包含许多不可打印字符的文件中获取字符串:

我尝试使用以下代码删除不可打印的字符:

这给了我以下输出:

我尝试过的其他代码:

这给了我以下输出:

如何使用最少的代码删除所有这些不可打印的字符以低于所需的输出:

0 投票
0 回答
95 浏览

julia - Julia中具有不可打印字符的字符数组

我想创建一个字符数组,其中一些值是不可打印的字符但不是空格:我试过:

没有成功。

0 投票
1 回答
72 浏览

c - 有人可以准确解释一下以下定义在 C 标准中关于指令的含义吗

我确切需要知道的是在指令开始之前允许使用哪些字符,因为我们都知道在(#)之前的指令开始之前我们可以有换行符空白字符现在我阅读了关于这个的 C 标准并发现下面的定义解释了这一点:

预处理指令由满足以下约束的预处理标记序列组成:序列中的第一个标记是 # 预处理标记,(在翻译阶段 4 开始时)是源文件中的第一个字符(可选在白色之后不包含换行符的空格)或紧随其后的包含至少一个换行符的空格。 “C 标准 - 在这里阅读定义”

现在我真正需要知道的是:它们是什么意思

(可选地在不包含“换行”字符的空格之后)或在包含至少一个“换行”字符的空格之后

不包含换行符

至少包含一个换行符

是我在上面的定义中不明白的,我需要知道这到底是什么意思,我需要知道

换行符可以出现在 #token 之前还是 #token 之后 C 标准没有说明可以出现换行符的位置(它只声明“不包含换行符”和“包含至少一个换行符” character") (它没有说明在这种情况下,换行符是否可以出现在 #token 之前或 #token 之后)即使它已经说明了在上述情况下可以出现空白字符的位置(在 #token 之前)

0 投票
0 回答
28 浏览

python - Python 交互模式自定义提示,Zsh & 转义非打印字符

我正在使用 Zsh。我想在 Python 交互模式下有一个自定义提示。具体来说,我想添加颜色。

如果我在 Python 中做类似的事情

然后提示正确显示,但终端似乎对提示的长度感到困惑,所以有时事情会变得一团糟。这可能是由于终端计算非打印字符的事实。我需要以某种方式告诉它不要计算那些字符。但我不知道该怎么做。

如果我使用 Zsh 提示符转义符,例如 %F{...} 或 %{ %},那么这些转义符不会像此处描述的那样进行扩展,而是按字面意思显示。我猜它们不会进行扩展,因为提示是从 Python 而不是在 shell 本身中设置的。

Zsh 默认计算非打印字符,它似乎不像 Bash 那样尊重 [ ] ,并且当从 Python 设置 PS1 时 %{ %} 不会进行扩展。我被困住了。

有没有办法做我想做的事?

0 投票
0 回答
43 浏览

excel - VBA 无法正确识别 Excel 的单元格内容(换行问题)

单元格的内容在两行之间有一个换行符。通常如果我使用

它返回True,但我有一个返回的情况False。我将“错误内容”粘贴到 Notepad++ 中,但我看不出有什么区别。它还向我显示了相同的换行符 ( CRLF)。通过使用剪贴板可能会出现“删除”的差异吗?

如何找出单元格包含哪些类型的换行符或非打印字符导致返回值为假?

注意:我还没有比较字符串的二进制值。我可以只使用转换器并将其粘贴到那里吗?或者我会遇到同样的问题吗?