问题标签 [control-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 回答
2983 浏览

windows - 如何创建包含行尾控制字符的 SAS 固定格式输出?

我正在使用 SAS 的 FILE 语句来输出具有固定格式 (RECFM=F) 的文本文件。我希望每一行都以换行符/回车符之类的行尾控制字符结尾。我尝试了 FILE 语句的选项 TERMSTR=CRLF 但我仍然在输出文件中看不到行尾控制字符。我想我可以使用 PUT 语句插入所需的换行和回车控制字符,但更喜欢更简洁的方法。对 FILE 语句的期望是合理的吗?(输出固定格式数据是否合理预期?)(平台:Windows v6.1.7600,SAS for Windows v9.2 TS Level 2M3 W32_VSPRO平台)

0 投票
1 回答
920 浏览

sed - 用 Sed 替换混合的转义序列、控制字符和文字?

我在需要清理的数据转储中混合了文字、可见和转义的控制字符(最好使用sed),例如^A^B\N(字面意思)和可见换行符。我需要清理文件以使可见的换行符保持不变,用制表符替换每个 ^A,并剥离每个^B\N^B\N(它遵循数据中的每个 unix 时间值,例如 13068505731812510)。

这是在 shell 命令中使用的内容的样子less(在 shell 中,^A^B字符具有深色背景以表示控制字符):

^A guid ^A unix-time ^B\N^B\N^A 4 ^A 192.168.21.136 ^A 7.0 ^A IE ^A 8 ^A guid ^A WinNT ^A ...(可见换行符)

或者一个字面的例子......

到目前为止,我一直在喂sed的转义序列并没有产生预期的输出。有谁知道在尽可能少的时间内完成这一切所需的魔法逃脱?(有很多文件,时间很重要。)谢谢!如果我可以在同一次传递中将 unix 时间数字转换为人类可读的时间,则可以加分。

0 投票
3 回答
29163 浏览

c# - 从 UTF-8 字符串中删除控制字符

我发现了这个问题,但它也删除了所有有效utf-8字符(返回一个空白字符串,而有有效utf-8字符加上控制字符)。正如我所读到utf-8的,没有特定的范围control characters,每个字符集都有自己的control characters.

如何修改上述解决方案以仅删除control characters

0 投票
2 回答
3596 浏览

ubuntu - 箭头键在 Telnet 中变成控制字符

我在 Ubuntu 终端中,并通过 telnet 连接到服务器。现在每当我输入“向上”时,它都会变成 ^[[A. 其他箭头键也变成控制字符。有没有办法可以运行 telnet 以便它理解我的箭头键?这将是一个巨大的帮助,因为我想在我的命令历史中向上滚动。

0 投票
4 回答
17070 浏览

xml - 在 Oracle XDB 中转义控制字符

我对 Oracle 的 XDB 完全陌生,特别是使用它从数据库表生成 XML 输出,并且正在开发一个从 9i(Oracle9i 企业版版本 9.2.0.5.0 - 生产)迁移到 11g(Oracle)的应用程序Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production)。这是一个小测试用例,说明了我遇到的问题:

这有效并给了我:

但是在 11g 中,如果我将 'a' 换成无效字符,例如 U+0013,我会收到以下错误:

在 9i 下,同样的事情可以成功,没有错误。

显然,理想的答案是进行一些验证,以防止控制字符进入我试图转换为 XML 的简单字符数据,但不幸的是,这超出了我正在做的范围。

这是其他人经历过的事情吗?如果是这样,我可以对我的 XML 生成脚本进行简单的更改,还是我需要进行其他类型的清理?或者只是在极少数情况下手动解决问题(这对于我的需求来说是一个完全合理的选择)。

0 投票
2 回答
6708 浏览

escaping - 为什么 VERTICAL TAB 有转义序列?

另一个问题,什么是垂直标签?, 描述了垂直制表符最初的用途。

但是,为什么在 C 和许多其他编程语言中首先被U+000B VERTICAL TAB认为足够重要以分配转义序列 ( ) 呢?'\v'

另见:有人抱怨这个

0 投票
1 回答
1614 浏览

qt - 是否有一个 Qt 函数来(取消)转义(至少)QString 中的 ASCII 格式字符(d 0..31)?

我不喜欢重新发明轮子,这似乎是一个非常基本的功能。除了专门针对 QStrings 之外,与 两个问题的概念相同吗?QRegExp 有一个转义函数,所以我想知道我是否只是忽略了 QString 版本,或者是否有充分的理由没有。

0 投票
3 回答
924 浏览

xml - 使用正则表达式查找控制字符的 XML 字符引用

我需要一些帮助来找出控制字符的 XML 字符引用的正则表达式,以十进制或十六进制表示。

这些序列如下所示:







换句话说,它们是一个 & 符号,后跟一个井号,后跟一个可选的“x”来表示十六进制模式,然后是 1 到 4 个十进制(或十六进制)数字,然后是一个分号。

我特别试图识别那些包含(包括)从十进制 0 到 31 或十六进制 0 到 1F 的数字的序列。

任何人都可以找出这个正则表达式吗?

0 投票
4 回答
7242 浏览

php - 如何从字符串末尾删除 ETX 字符?(正则表达式或 PHP)

如何从字符串末尾删除 ETX 字符 (0x03)?我想要一个函数,否则我可以写一个正则表达式,我只想知道如何匹配正则表达式中的 ETX 字符?trim()不起作用。

0 投票
1 回答
281 浏览

c# - 如何处理自定义终端中的传入控制字符?

对于我的项目,我需要创建一个类似终端的自定义窗口并通过控制台端口连接到 Cisco 路由器。所以我继承了一个 TextBox 并在 WPF 中创建了一个自定义控件。我认为这就足够了;只是添加一些代码来实现我想要的额外功能。我一次发送一个字符并等待回复。但后来我看到我的自定义终端不处理特殊字符,像 \n 这样的基本字符肯定被识别,但其他所有字符都没有。我已经写了一个文本文件的回复,我看到我收到了很多特别的回复,但我不知道我应该如何反应。也许有人知道或找到了一些链接,其中包含有关如何对特定控制字符做出反应的信息?我只发现这里发送了什么字符,但没有别的了。我知道对于“BS”,我会在回车前删除一个字符,但是当我得到“ACK”或“DC1”时该怎么办?也许我应该跳过它们?有任何想法吗?


编辑:除了一次发送一个字符外,我只会在发送 enter 或类似 ? 或制表符。然后,当我收到响应时,它会与特殊字符混合以格式化文本,就像在 80x25 终端窗口中一样。我只想按它想要的方式显示它,但这意味着我需要知道当我得到特殊字符时如何反应我不需要显示它们,只是根据我的特殊字符格式化普通文本接收。当我得到BS时,我需要在运输前清除字符,当我得到DEL时,我需要在运输后清除字符。而且我想知道当我得到其他特殊字符时我需要做什么。我知道我可以做到这一点,只需将它们发送到一个工作终端,看看它会做什么,但这需要一段时间,所以我想知道是否有人可能知道答案。