精华内容
下载资源
问答
  • 背景在 Linux 下手写一个命令和拷贝 html 页面文本域中命令执行结果完全不同,后者命令无法被 Linux 识别。...逐个输出对应字符 ASCII 值,发现一个 echo 命令后的空格,一个是 32,另一个是 160。而 160...

    背景

    在 Linux 下手写一个命令和拷贝 html 页面文本域中的命令执行结果完全不同,后者的命令无法被 Linux 识别。

    问题截图

    f98759206aa0f4938e3f3b3102ab1947.png

    肉眼看不到的区别


    肉眼根本看不出来这两行有什么区别,但执行结果就是有问题。

    问题定位

    编写测试代码,执行两个字符串的 equals 方法,输出结果是 false。逐个输出对应字符的 ASCII 值,发现一个 echo 命令后的空格,一个是 32,另一个是 160。而 160 那个空格来自页面文本域的拷贝值。

    网络搜索果然有关于这两个空格的坑,160 这个空格是是由页面上的 产生的空格,全称为“non-breaking space”,其 UTF-8 编码值为 u00A0。

    解决办法,将页面表单中的 160 空格替换为普通空格:

    String s11 = "mem_status=`free -m|sed -n '2p'|sed -E 's/ +/ /g'`;mem_total=`echo $mem_status|cut -d " " -f 2`;mem_used=`echo $mem_status|cut -d " " -f 3`;mem_usedpercent=`echo "scale=2;$mem_used*100/$mem_total" | bc | awk '{printf "%.2f", $0}'`;echo $mem_usedpercent";String s22 = "mem_status=`free -m|sed -n '2p'|sed -E 's/ +/ /g'`;mem_total=`echo $mem_status|cut -d " " -f 2`;mem_used=`echo $mem_status|cut -d " " -f 3`;mem_usedpercent=`echo "scale=2;$mem_used*100/$mem_total" | bc | awk '{printf "%.2f", $0}'`;echo $mem_usedpercent";System.out.println("s1=s2:"+s11.equals(s22));s22 = s22.replaceAll(" +", " ");s11 = s11.replaceAll(" +", " ");System.out.println("s1=s2:"+s11.equals(s22));

    就是一个简单的获取 Linux 操作系统的磁盘使用百分比的命令集。
    替换后两字符串的 equals 返回真,执行结果:

    s1=s2:falses1=s2:true
    展开全文
  • 第一题:这是一个简单的ASCII码和字符换的转换,直接人工查表就可以找到flag,为了方便我附带了相应的在线转换工具,直接复制粘贴转换即可。那么今天的题目来了:\u0043\u0054\u0046\u0053\u0059\u0053\u007b\u004d\...

    第一题:这是一个简单的ASCII码和字符换的转换,直接人工查表就可以找到flag,为了方便我附带了相应的在线转换工具,直接复制粘贴转换即可。

    那么今天的题目来了:

    \u0043\u0054\u0046\u0053\u0059\u0053\u007b\u004d\u0061\u006b\u0065\u005f\u0070\u0065\u0072\u0073\u0069\u0073\u0074\u0065\u006e\u0074\u005f\u0065\u0066\u0066\u006f\u0072\u0074\u0073\u007d 

    flag格式:

    CTFSYS{ } 

    附上一个解码链接:https://www.sojson.com/ascii.html

    jnmcsc团队,公众号:JNMCSEC【每日一题】| 常见的编码方式之ASCII编码

    79ddff8d55f63f6f20dab2fc4190dcca.png

    d1fa68c1f67908c97d734dc2d74db27d.png

    ffa3d695621397a76d041fdbc5c5a90a.png

    得到flag


    第二题:这个小练习运用了第一天学到的凯撒加密和第二天学到的Base64

    04 拓展 最后特意附上了一个小小的flag(PS:用了前几天学习的其中两个简单的加密方式)

    密文:U2h1dmx2d2hxZmhfbHZfeWxmd3J1Yg== 

    flag格式:flag{}

    jnmcsc团队,公众号:JNMCSEC【每日一题】| 常见的编码方式之ASCII编码

    解题思路:

    1. 拿到密文看到后面的两个等号,首先可以联想到是Base64转换的结果,我们先对其反向转换,因为前面提到运用的加密方式为刚学过的几种,

      所以不难想到转换前肯定是字符串,所以我们用Base64转为字符串

    3ee843a61dde0a71d710075a13b44778.png

    附带一个转换工具的链接:https://www.qqxiuzi.cn/bianma/base64.htm


    2.经过反向转换,我们得到了一串“可能”是flag的字符串,但要注意,我们在    比赛中得到的flag正解往往都是带有一定意义的英文单词、英文短语、汉语    拼音等等,所以这里没有意义的一串字符显然不是我们的结果,那么我们最    明显的选择就剩下栅栏密码和凯撒密码了,我们可以两种都试一下结果如      下:

    db6eeb38c96413fbb17e6cc871c25788.png

    cad47eb55259e77d9094272b7414eedf.png

    显然,上图马赛克处即为flag。

    附相关链接:

    Base64:  https://www.qqxiuzi.cn/bianma/base64.htm

    凯撒密码:http://www.metools.info/code/c70.html

    栅栏密码:http://www.atoolbox.net/Tool.php?Id=777

    至此我们距离成功只有一步之遥了,最后一步:提交flag,这里要注意,格式要正确,注意是否有多的空格


    以上即为解答,相应的工具可以使用在线工具,百度即可

    展开全文
  • ASCII ((American Standard Code for Information Interchange): 美国信息交换标准代码)是基于拉丁字母一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是最通用信息交换标准,并等同于国际标准ISO/...
    305a292a13cf958e53a0ccc55194c8f8.png

    ASCII ((American Standard Code for Information Interchange): 美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是最通用的信息交换标准,并等同于国际标准ISO/IEC 646。ASCII第一次以规范标准的类型发表是在1967年,最后一次更新则是在1986年,到目前为止共定义了128个字符[1]。

    中文名

    美国信息交换标准代码

    外文名

    American Standard Code for Information Interchange

    简称

    ASCII

    别称

    ASCII代码

    类别

    编码标准

    作用

    显示现代英语和其他西欧语言

    数量

    128个字符

    发表时间

    1967年

    快速

    导航

    表达方式

    标准表

    大小规则

    问题

    扩展

    汉字编码

    产生原因

    在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机用高电平和低电平分别表示1和0),例如,像a、b、c、d这样的52个字母(包括大写)以及0、1等数字还有一些常用的符号(例如*、#、@等)在计算机中存储时也要使用二进制数来表示,而具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的一套(这就叫编码),而大家如果要想互相通信而不造成混乱,那么大家就必须使用相同的编码规则,于是美国有关的标准化组织就出台了ASCII编码,统一规定了上述常用符号用哪些二进制数来表示[2] 。

    美国标准信息交换代码是由美国国家标准学会(American National Standard Institute , ANSI )制定的,是一种标准的单字节字符编码方案,用于基于文本的数据。它最初是美国国家标准,供不同计算机在相互通信时用作共同遵守的西文字符编码标准,后来它被国际标准化组织(International Organization for Standardization, ISO)定为国际标准,称为ISO 646标准。适用于所有拉丁文字字母[3] 。

    表达方式

    ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。标准ASCII 码也叫基础ASCII码,使用7 位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0 到9、标点符号,以及在美式英语中使用的特殊控制字符[1] 。其中:

    0~31及127(共33个)是控制字符或通信专用字符(其余为可显示字符),如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(响铃)等;通信专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等;ASCII值为8、9、10 和13 分别转换为退格、制表、换行和回车字符。它们并没有特定的图形显示,但会依不同的应用程序,而对文本显示有不同的影响[1] 。

    32~126(共95个)是字符(32是空格),其中48~57为0到9十个阿拉伯数字。

    65~90为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。

    同时还要注意,在标准ASCII中,其最高位(b7)用作奇偶校验位。所谓奇偶校验,是指在代码传送过程中用来检验是否出现错误的一种方法,一般分奇校验和偶校验两种。奇校验规定:正确的代码一个字节中1的个数必须是奇数,若非奇数,则在最高位b7添1;偶校验规定:正确的代码一个字节中1的个数必须是偶数,若非偶数,则在最高位b7添1[1] 。

    后128个称为扩展ASCII码。许多基于x86的系统都支持使用扩展(或“高”)ASCII。扩展ASCII 码允许将每个字符的第8 位用于确定附加的128 个特殊符号字符、外来语字母和图形符号[1] 。

    展开全文
  • code39是条形码的一种,也被称为3 of 9 code、USD-3或者LOGMARS,编码简单、能够对任意长度数据进行编码、支持设备广泛,所以code39是最常用条形之一。code39在条码打印软件中有两种表现类型:标准code...

    code39码是条形码的一种,也被称为3 of 9 code、USD-3或者LOGMARS,编码简单、能够对任意长度的数据进行编码、支持设备广泛,所以code39码是最常用的条形码之一。code39码在条码打印软件中有两种表现类型:标准code39码和支持字符更全的扩展code39码(code39 extended)。

    17fa1d03e68be54a091b5c5e00b2161d.png

    code39码字符集:

    标准code39码支持26个英文大写字母(A-Z),十个数字(0-9),连接号(-),空格,英文的句号(.),加号(+),斜杠(/),百分号(%)以及美元符号($)共43个字符。

    code39码通常情况下不需要校验码。但是对于精确度要求高的应用,需要在code39条形码后面增加一个校验码。由于可以合并两个字符来表达第三个字符,这样就可以用code39条形码来表示整个ASCII表,那么扩展code39码(code39 extended)也就诞生了。

    code39码编码规则:

    1、每五条线表示一个字符;

    2、粗线表示1,细线表示0;

    3、线条间的间隙宽的表示1,窄的表示0;

    4、五条线加上它们之间的四条间隙就是九位二进制编码,而且这九位中必定有三位是1,所以称为39码;

    5、条形码的首尾各一个 * 标识开始和结束。

    扩展code39码和标准code39码优缺点:

    扩展code39码比标准code39码支持的字符更多,能够对任意字符进行编码,但是由于每个特殊的字符有两个普通的code39字符组合表示,这样就导致条形码较长。由于字符以两种方式读取,所以需要特别配置扫描设备读取扩展code39码,最后一点就是扩展code39码如果不选择校验位,会增加出错风险。

    code39码的制作:

    在中琅条码打印软件中可以分别制作标准code39码和扩展code39码,还可以通过数据库导入功能实现批量制作code39码。详细的操作步骤可以参考文章:条码打印软件如何批量生成Code39码。

    ee99ef1121aadda148d5408e2dcf3e35.png

    综上所述就是code39码的相关信息,由于code39条形码的特性,所以code39码被广泛用于物流跟踪、生产线流程和公司企业管理等方面。

    展开全文
  • Excel 使用久了话,大家会发现日常遇到问题大都就是那几类。比如,最常见症结就是数据源不规范,如果不从源头清洗干净,后续不管是公式、图表,还是数据透视表,都会出现错误。清洗数据这件事情,如果全凭...
  • 回车、换行、空格的ASCII码值回车,ASCII码13换行,ASCII码10空格,ASCII码32Return = CR = 13 = '\x0d'NewLine = LF = 10 = '\x0a'ASCII码表信 息在计算机上是用二进制表示的,这种表示法让人理解就很困难。...
  • 回车,ASCII码13,"\r"换行,ASCII码10,"\n"空格ASCII码32Return = CR = 13 = '\x0d'NewLine = LF = 10 = '\x0a'回车符号和换行符号产生背景关于“回车”(carriage return)和“换行”(line feed)这两个概念来历...
  • 回车、换行、空格的ASCII码值 回车,ASCII码13 换行,ASCII码10 空格,ASCII码32 Return = CR = 13 = '\x0d' NewLine = LF = 10 = '\x0a' ASCII码表 信 息在计算机...
  • 回车,ASCII码13,"\r"换行,ASCII码10,"\n"空格ASCII码32Return = CR = 13 = '\x0d'NewLine = LF = 10 = '\x0a' 回车符号和换行符号产生背景 关于“回车”(carriage return)和“换行”(line feed)这两个...
  • ascii码表由小到大空格字符发布于:2020-12-01 10:42:47ASCII码官网小编今天来给大家讲解一下ascii码表由小到大空格字符介绍,感兴趣小伙伴可以接着往下看哦。ASCII(American Standard Code for Information ...
  • 空格的两个ASCII码

    2016-07-28 20:17:33
    空格有两个ASCII码
  • 回车换行空格的ASCII

    2019-04-28 17:07:59
    回车、换行、空格的ASCII码值 回车,ASCII码13 换行,ASCII码10 新的一行 空格,ASCII码32 Return = CR = 13 = ‘\x0d’ NewLine = LF = 10 = ‘\x0a’ 此处摘抄自Vincent_Song ...
  • 它就是判断当前char的ASCII码 是不是比普通的空格(ASCII码为32)ASCII码小。如果是就进入截取去除的范围。 从ASCII码对照表可以看到,比空格(ASCII码为32)的ASCII码小的有下面这些: 所以trim方法,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,830
精华内容 1,132
关键字:

空格的ascii码