以下控制字符的含义是什么:
回程
换行
表格饲料
newline control-characters ansi-escape carriage-return linefeed
Unicode从ASCII定义了几个控制字符.http://www.unicode.org/charts/PDF/U0000.pdf
我看到很多控制字符被广泛使用,但我真的看不到"信息分隔符"的使用位置.(U + 001C〜U + 001F)
他们是什么?他们的历史是什么?他们在哪里使用?
我试图找到我的本地系统分配给箭头键的值,特别是在Python中.我使用以下脚本执行此操作:
import sys,tty,termios
class _Getch:
def __call__(self):
fd = sys.stdin.fileno()
old_settings = termios.tcgetattr(fd)
try:
tty.setraw(sys.stdin.fileno())
ch = sys.stdin.read(1)
finally:
termios.tcsetattr(fd, termios.TCSADRAIN, old_settings)
return ch
def get():
inkey = _Getch()
while(1):
k=inkey()
if k!='':break
print 'you pressed', ord(k)
def main():
for i in range(0,25):
get()
if __name__=='__main__':
main()
Run Code Online (Sandbox Code Playgroud)
然后我运行了脚本,然后点击向上右下方,这给了我这个输出:
$ python getchar.py
you pressed 27
you pressed 91
you pressed 65
you pressed 27
you pressed 91
you pressed 66
you pressed 27
you pressed 91
you pressed 67
you pressed …Run Code Online (Sandbox Code Playgroud) 我正在尝试'\'字符,使用'\ a\b\c ...'只是为了自己枚举哪些字符Python解释为控制字符,以及什么.这是我发现的:
\a - BELL
\b - BACKSPACE
\f - FORMFEED
\n - LINEFEED
\r - RETURN
\t - TAB
\v - VERTICAL TAB
Run Code Online (Sandbox Code Playgroud)
我尝试的大多数其他字符,'\ g','\ s'等只是评估反斜杠和给定字符的2个字符的字符串.我明白这是故意的,对我来说很有道理.
但'\ x'是一个问题.当我的脚本到达此源代码行时:
val = "\x"
Run Code Online (Sandbox Code Playgroud)
我明白了:
ValueError: invalid \x escape
Run Code Online (Sandbox Code Playgroud)
'\ x'有什么特别之处?为什么它与其他非转义字符的处理方式不同?
我的JavaScript非常生疏,所以对此的任何帮助都会很棒.我要求检测不可打印的字符(控制字符,如SOH,BS等)以及扩展的ascii字符,如字符串中的Ž并删除它们但我不知道如何编写代码?
任何人都能指出我正确的方向来解决这个问题吗?这是我到目前为止:
$(document).ready(function() {
$('.jsTextArea').blur(function() {
var pattern = /[^\000-\031]+/gi;
var val = $(this).val();
if (pattern.test(val)) {
for (var i = 0; i < val.length; i++) {
var res = val.charAt([i]);
alert("Character " + [i] + " " + res);
}
}
else {
alert("It failed");
}
});
});
Run Code Online (Sandbox Code Playgroud) 码:
int fd;
fd = open("fruit", O_WRONLY);
write(fd, "apple", sizeof("apple"));
close(fd);
Run Code Online (Sandbox Code Playgroud)
我用它编译它
$ gcc test.c -o test
Run Code Online (Sandbox Code Playgroud)
并运行
$ ./test
Run Code Online (Sandbox Code Playgroud)
然后我打开fruit文件,我在文件中看到以下内容:
apple^@
Run Code Online (Sandbox Code Playgroud)
什么^@意思?
我正在寻找一种方法来指定一条线如果它不能以类似于­(软/自由连字符)的方式放在它的线上而应该中断,但是有一个空格.我尝试使用谷歌搜索,但没有得到很多相关的点击(尽管指定"html",主要是针对InDesign),我得到的是一些人说他们不知道的方式.
防爆.
你好,我的名字
是foo.
与
你好,
我的名字是foo.
但如果空间可用:
你好,我的名字是foo.
对于特异性,我不是故意的white-space: normal/nowrap/pre/…,我不想强迫休息<br />.
我正在使用AngularJS,所以大多数都是通过JavaScript处理的,所以如果有一个简单/有效/聪明的方法来做到这一点,我会对它持开放态度.
我正在重新发明轮子并在Java中创建自己的JSON解析方法.
我要去json.org上的(非常好的!)文档.我不确定的唯一部分是它所说的"或控制性格"
由于文档非常清晰,并且JSON非常简单易于实现,我认为我会继续并且需要规范而不是松散.
我如何正确地删除Java中的控制字符?也许有一个unicode系列?

我被告知在定义的范围 1 2之外还有其他控制字符可能在<script>标签中很麻烦.
最值得注意的是字符U + 2028和U + 2029,线和段落分隔符,它们充当换行符.在字符串文字的中间注入换行符很可能会导致语法错误(未终止的字符串文字).3
虽然我认为这不会造成XSS威胁,但在<script>标签中添加额外的规则仍然是一个好主意.
\u符号编码所有非"ASCII可打印"字符.这些角色开始时并不常见.如果您愿意,可以添加到白名单,但我建议使用白名单方法.</script(不区分大小写),这可能会导致HTML脚本注入到您的网页与人物</script><script src=http://tinyurl.com/abcdef>.默认情况下,这些字符都不是以JSON编码的.import unicodedata, re, io
all_chars = (unichr(i) for i in xrange(0x110000))
control_chars = ''.join(c for c in all_chars if unicodedata.category(c)[0] == 'C')
cc_re = re.compile('[%s]' % re.escape(control_chars))
def rm_control_chars(s): # see http://www.unicode.org/reports/tr44/#General_Category_Values
return cc_re.sub('', s)
cleanfile = []
with io.open('filename.txt', 'r', encoding='utf8') as fin:
for line in fin:
line =rm_control_chars(line)
cleanfile.append(line)
Run Code Online (Sandbox Code Playgroud)
我想保留文件中的换行符.
以下记录cc_re.sub('', s)替换前几行所用的时间(第一列是所用时间,第二列是len(s)):
0.275146961212 251
0.672796010971 614
0.178567171097 163
0.200030088425 180
0.236430883408 215
0.343492984772 313
0.317672967911 290
0.160616159439 142
0.0732028484344 65 …Run Code Online (Sandbox Code Playgroud)