问题标签 [non-printable]

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 回答
327 浏览

recursion - 文件名中的不可打印字符破坏了我的递归文件列表 VB 脚本

我创建了一个 VB 脚本以递归方式列出其所有文件和子文件夹文件。该脚本开始正常,但最终在包含文件名中包含不可打印字符的文件的任何文件夹中崩溃,即当我在资源管理器中浏览文件夹时看到小方块。我不确定如何更改以下错误处理以在找到具有此类字符的文件时继续。

任何建议或解决方案将不胜感激。谢谢你。

0 投票
1 回答
684 浏览

javascript - 如何检查字符是否会显示在浏览器中

如果要显示⬀、⤴或➶等特殊字符,如何查看用户的浏览器是否可以显示?我不希望角色以▯的形式出现;如果可以,我宁愿显示一个正常的↗。

那么如何确保我发出的任何字符都能正确显示呢?

我找到了这个问题的答案,不幸的是,这在我的情况下不起作用。 诀窍是放置一个在 DOM 树中不存在的字符,这样您就知道它不会显示,并将其宽度与所需字符的宽度进行比较。如果宽度相同,很可能您想要的字符也未定义并且也不会显示。

但是,此技巧并非在所有情况下都有效。链接的答案将 U+FFFD 用于非显示字符,但在某些设备(在我的情况下为 Windows Mobile 手机)上,U+FFFD 是已定义字符,其宽度与用于未定义字符的字形不同( � vs ▯)。此外,已知的非字符代码点(例如 U+FFFE)显示为问号 (?) 而不是 ▯,因此它们的宽度也不同。

所以我的问题是,我可以将我的角色与什么进行比较,以便我知道它不会是一个不可显示的角色?

0 投票
1 回答
133 浏览

java - 将 Ascii“1”转换为不可打印且无法在网络流量中看到的十六进制

又是关于 Ascii 到十六进制转换的另一个问题。我想获取用户输入的 Ascii“1”符号,然后获取该值,将其转换为十六进制并通过网络将其作为不可打印值发送,这样任何查看的人都无法轻松读取网络上的数据。现在我可以获取十六进制值并通过网络发送,但是当我嗅探网络以查看正在传输的数据时,我可以按原样读取十六进制值。我将如何使它显示为不可打印?我正在使用wireshark查看网络数据

0 投票
3 回答
112 浏览

javascript - 使用 CTRL、ALT 或 shift 键等不可打印字符镜像输入内容

当按下不可打印的字符时,它会被替换为 CTRL=17 和"[CTRL]"。这是代码示例

问题是当用户按下退格键时,第二个输入必须反映第一个输入的内容,因此“[CTRL]”必须像任何其他字符一样立即删除。

0 投票
1 回答
2075 浏览

regex - Excel VBA中的RegEx不正确地匹配扩展的ASCII字符

我正在尝试使用 Excel VBA 中的以下 RegEx 删除所有不可打印和非 ASCII(扩展)字符:

这在理论上应该匹配任何不是制表符、换行符、回车或可打印的 ASCII 字符(十六进制 20 和 FF 或 dec 32 和 255 之间的字符代码)的任何内容。我在这里确认 Microsoft VBScript 正则表达式支持 \xCC 表示法,其中 CC 是十六进制的 ASCII 代码。

问题是这个正则表达式匹配高于 127 的每个字符。然后当匹配字符的代码高于 127 时,它会在 match.value 上抛出一个“无效的过程调用”。仅仅是 VBScript RegExes 不支持高于 127 的字符代码吗?我似乎无法在任何地方找到这些数据。这是完整的代码:

它匹配的第一个字符是 0x96 (&ndash)。当我观看“比赛”并展开它时,我可以在“观看”窗口中看到它。但是,当我尝试观看 match.Item(matchNum).Value 时,我得到了(见截图)。有任何想法吗?

0 投票
1 回答
896 浏览

python - 在 Django 中导出 TextField - 使用 ReportLab 将 Python 模型导出为 PDF - 换行符变成不可打印的字符

我有一个模型属性可以保存用户的 HTML Textarea 输入。因为当用户在 Textarea 中敲回车时,表单提交时,我编写了一个小的 Javascript 代码来自动输入“\n”,呈现换行符。

当我尝试使用 ReportLab 将此属性导出为 PDF 时,我收到了看起来像 2 个黑色矩形的不可打印字符。当我尝试将它们复制到文本板时,它变为“n”。

这是模型中的代码

这是特定字段的 JavaScript 和 Html:

这是 view.py 中的 Reportlab 代码:

请帮忙。我似乎无法弄清楚这一点。

非常感谢。

0 投票
2 回答
147 浏览

python - 从 mmap 迭代并用 C 中的块读取的输入文件的 2 个不同输出

我想读取一个包含一些字符的文件并检查可打印字符的百分比以及空格的百分比。这是我生成输入文件的 Python 代码:

我希望我的文件同时具有可打印字符和空格以及其他字符(不在这两组中)。我通过两种方式做到这一点:

  1. read使用C 中的系统调用逐块读取文件:

    /li>
  2. 将整个文件复制到内存中mmap(),然后开始从内存中读取它:

    /li>

当我用同一个文件(由 Python 代码创建)检查这两种方式时,我得到了两个不同的百分比答案,但每种方式读取的字符数是相同的(1000)。

这是我从 Python 代码生成的文件(我不知道当我在这里复制它时会发生什么,它包含很多控制字符):

这是结果mmap()

这是结果chunk reading

为什么两个方法中的数量printable characters不同,但是文件是一样的呢?

我认为在分块模式下isspace()不接受空格,而是将其视为printable character.

0 投票
2 回答
1590 浏览

php - UTF-8 PHP 用不可打印字符“换行符”替换不可打印字符“空格”

我有一个字符串,我需要UTF-8non-printable space它替换non-printable linebreak

类似这样的东西,str_replace('&nbsp;','<br />',$string);但带有non-printable characters.

0 投票
1 回答
110 浏览

perl - Perl:语法错误;键的不可打印字符。执行 CMD 查找时出错

我正在尝试将标量值传递给系统命令,但一直遇到问题。我不确定为什么。在这个深夜,任何帮助将不胜感激。

我得到的两个错误是:

  • 语法错误;键的不可打印字符。

  • 执行 CMD 查找时出错。

本质上,我试图在命令“命令”中传递一串命令(dbcommand;f;echo;...)。

所以现在我在做:

我得到了错误:

  • 语法错误;cmd 包含无效字符 -- “dbcommand sh: f: command not found -c on -o A_value.txt sh: /DIS: No such file or directory sh:”: command not found

如果我打印 $cmd; 相反,我的双引号前面也有斜杠,这不是我想要的:

command -c \"dbcommand -a app -f fam -d db; find sub=a, device=1234567, analog=A; echo -c on; echo -o A_value.txt; /DIS;\"

确保数组已填充:

我做的第一件事是确保通过声明数组、打开文件然后执行以下操作来正确地向数组添加值:

当我执行 perl 脚本并在本地打印时*,一切都如预期的那样——打印了值并且数组的大小为 3。

123456789, 123456888, 123456789

3

但是,当我远程打印时,我只得到最后一个元素

, 123456789

3

即使数组的大小也是 3。

0 投票
0 回答
45 浏览

python - 用于不可打印字符的 Hex2ascii 字典模块

我想转换十六进制字符,如:

python 中是否有可用的模块或类似的模块可以轻松地做到这一点而无需创建 hex2text 字典?

不可打印的字符参考@伊斯坦布尔技术大学