CTF之python学习String模块

给自己看的笔记会比较乱,方便修改补充,学到哪块知识点就补充上去

部分内容的区别

python2python3
string.uppercasestring.ascii_uppercase
string.lowercasestring.ascii_lowercase
xrange  range
from cStringIO import StringIOfrom io import StringIO
当需要写文件的时候 StringIOBytesIO

 

String模块

string模块主要包含关于字符串的处理函数

 

在例如获取随机密码等之类的题时可能会用到这些:

字符串常量

1.string.ascii_letters

获取所有ascii码中字母字符的字符串(包含大写和小写)


2.string.ascii_uppercase

获取所有ascii码中的大写英文字母


3.string.ascii_lowercase

获取所有ascii码中的小写英文字母


4.string.digits

获取所有的10进制数字字符


5.string.punctuation

获取所有的标点符号


6.printable

获取所有可以打印的字符

 

案例:(分析词频,针对小写字母和数字)

分析词频,针对所有可打印字符


大小写转换

1.upper()

将指定字符串变为大写


2.lower()

将指定字符串变为小写


3.title()

将给定的字符串中所有单词的首字母大写,其他全部小写


4.capitalize()

将给定的字符串中首字母大写,其他小写


5.swapcase()

将原字符串中的大写改为小写,小写改为大写

 

判断字符串

1.isdecimal()

判断给定字符串是否全为数字

是返回true,不是返回false


2.isalpha()

判断给定的字符串是否全为字母


3.isalnum()

判断给定的字符串是否只含有数字与字母


4.isupper()

判断给定的字符串是否全为大写,若包含数字字母全为大写也返回true


5.islower()

判断给定的字符串是否全为小写,若包含数字字母全为小写也返回true


6.istitle()

判断给定的字符串是否符合title() 字符串中所有单词的首字母大写,其他全部小写


7.isspace()

判断给定的字符串是否为空白符(空格、换行、制表符)


8.isprintable()

判断给定的字符串是否为可打印字符


9.isidentifier()

判断给定的字符串是否符合命名规则(只能是字母或下划线开头、不能包含除数字、字母和下划线以外的任意字符)


10.startswith('xxxxxx')

判断字符串以'xxxxxx'开头


11.endswith('xxxx')

判读字符串以'xxxx'结尾

注:不仅可以输入子字符串,还可以输入元组,若为元组时候只要有一个成真即为True

说道字符串,那么一定离不开ASCII码:

ASCII控制字符(不可打印的字符)

二进制十进制十六进制缩写可以显示的表示法名称/意义
0000 0000000NUL空字符(Null)
0000 0001101SOH标题开始
0000 0010202STX本文开始
0000 0011303ETX本文结束
0000 0100404EOT传输结束
0000 0101505ENQ请求
0000 0110606ACK确认回应
0000 0111707BEL响铃
0000 1000808BS退格
0000 1001909HT水平定位符号
0000 1010100ALF换行键
0000 1011110BVT垂直定位符号
0000 1100120CFF换页键
0000 1101130DCR归位键
0000 1110140ESO取消变换(Shift out)
0000 1111150FSI启用变换(Shift in)
0001 00001610DLE跳出数据通讯
0001 00011711DC1设备控制一(XON 启用软件速度控制)
0001 00101812DC2设备控制二
0001 00111913DC3设备控制三(XOFF 停用软件速度控制)
0001 01002014DC4设备控制四
0001 01012115NAK确认失败回应
0001 01102216SYN同步用暂停
0001 01112317ETB区块传输结束
0001 10002418CAN取消
0001 10012519EM连接介质中断
0001 1010261ASUB替换
0001 1011271BESC跳出
0001 1100281CFS文件分割符
0001 1101291DGS组群分隔符
0001 1110301ERS记录分隔符
0001 1111311FUS单元分隔符
0111 11111277FDEL删除

ASCII可显示字符(可打印的字符)

二进制十进制十六进制图形
0010 00003220(空格)(␠)
0010 00013321!
0010 00103422"
0010 00113523#
0010 01003624$
0010 01013725 %
0010 01103826&
0010 01113927'
0010 10004028(
0010 10014129)
0010 1010422A*
0010 1011432B+
0010 1100442C,
0010 1101452D-
0010 1110462E.
0010 1111472F/
0011 000048300
0011 000149311
0011 001050322
0011 001151333
0011 010052344
0011 010153355
0011 011054366
0011 011155377
0011 100056388
0011 100157399
0011 1010583A:
0011 1011593B;
0011 1100603C<
0011 1101613D=
0011 1110623E>
0011 1111633F?
 
二进制十进制十六进制图形
0100 00006440@
0100 00016541A
0100 00106642B
0100 00116743C
0100 01006844D
0100 01016945E
0100 01107046F
0100 01117147G
0100 10007248H
0100 10017349I
0100 1010744AJ
0100 1011754BK
0100 1100764CL
0100 1101774DM
0100 1110784EN
0100 1111794FO
0101 00008050P
0101 00018151Q
0101 00108252R
0101 00118353S
0101 01008454T
0101 01018555U
0101 01108656V
0101 01118757W
0101 10008858X
0101 10018959Y
0101 1010905AZ
0101 1011915B[
0101 1100925C\
0101 1101935D]
0101 1110945E^
0101 1111955F_
 
二进制十进制十六进制图形
0110 00009660`
0110 00019761a
0110 00109862b
0110 00119963c
0110 010010064d
0110 010110165e
0110 011010266f
0110 011110367g
0110 100010468h
0110 100110569i
0110 10101066Aj
0110 10111076Bk
0110 11001086Cl
0110 11011096Dm
0110 11101106En
0110 11111116Fo
0111 000011270p
0111 000111371q
0111 001011472r
0111 001111573s
0111 010011674t
0111 010111775u
0111 011011876v
0111 011111977w
0111 100012078x
0111 100112179y
0111 10101227Az
0111 10111237B{
0111 11001247C|
0111 11011257D}
0111 11101267E

=====================================================================================

扩展ASCII

参考:https://www.asciim.cn/

https://blog.csdn.net/na_tion/article/details/50148883

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

十进制
DEC
八进制
OCT
十六进制
HEX
二进制
BIN
符号
Symbol
HTML
实体编码
中文解释
Description
1282008010000000&#128;欧盟符号
1292018110000001   
1302028210000010&#130;单低 9 引号
1312038310000011ƒ&#131;带钩的
拉丁小写字母f
1322048410000100&#132;双低 9 引号
1332058510000101&#133;水平省略号
1342068610000110&#134;剑号
1352078710000111&#135;双剑号
1362108810001000ˆ&#136;修正字符
抑扬音符号
1372118910001001&#137;千分号
1382128A10001010Š&#138;带弯音号的
拉丁大写字母 S
1392138B10001011&#139;左单书名号
1402148C10001100Œ&#140;拉丁大写组合 OE
1412158D10001101   
1422168E10001110Ž&#142;带弯音号的
拉丁大写字母 z
1432178F10001111   
1442209010010000   
1452219110010001&#145;左单引号
1462229210010010&#146;右单引号
1472239310010011&#147;左双引号
1482249410010100&#148;右双引号
1492259510010101&#149; 
1502269610010110&#150;半长破折号
1512279710010111&#151;全长破折号
1522309810011000˜&#152;小波浪线
1532319910011001&#153; 
1542329A10011010š&#154;带弯音号的
拉丁小写字母 s
1552339B10011011&#155;右单书名号
1562349C10011100œ&#156;拉丁小写组合 oe
1572359D10011101   
1582369E10011110ž&#158;带弯音号的
拉丁小写字母 z
1592379F10011111Ÿ&#159;带弯音号的
拉丁大写字母 Y
160240A010100000 &#160; 
161241A110100001¡&#161;反向感叹号
162242A210100010¢&#162;分币符号
163243A310100011£&#163;英磅符号
164244A410100100¤&#164; 
165245A510100101¥&#165;人民币符号
166246A610100110¦&#166; 
167247A710100111§&#167;章节符号
168250A810101000¨&#168;通用货币符号
169251A910101001©&#169;版权符号
170252AA10101010ª&#170;阴性顺序
指示符号
171253AB10101011«&#171;左角引号
172254AC10101100¬&#172; 
173255AD10101101­&#173; 
174256AE10101110®&#174; 
175257AF10101111¯&#175; 
176260B010110000°&#176;温度符号
177261B110110001±&#177;加/减号
178262B210110010²&#178;上标 2
179263B310110011³&#179;上标 3
180264B410110100´&#180; 
181265B510110101µ&#181;微符号
182266B610110110&#182;段落符号,
pilcrow
183267B710110111·&#183;中点
184270B810111000¸&#184; 
185271B910111001¹&#185;上标 1
186272BA10111010º&#186;阳性顺序
指示符
187273BB10111011»&#187;右角引号
188274BC10111100¼&#188;分数四分之一
189275BD10111101½&#189;分数二分之一
190276BE10111110¾&#190; 
191277BF10111111¿&#191;反向问号
192300C011000000À&#192;带重音符
的大写字母 A
193301C111000001Á&#193;带尖锐重音
的大写字母 A
194302C211000010Â&#194;带音调符号
的大写字母 A
195303C311000011Ã&#195;带代字号
的大写字母 A
196304C411000100Ä&#196;带元音变音
(分音符号)
的大写字母 A
197305C511000101Å&#197;带铃声
的大写字母 A
198306C611000110Æ&#198;大写字母 AE
双重元音
199307C711000111Ç&#199;带变音符号
的大写字母 C
200310C811001000È&#200;带重音符
的大写字母 E
201311C911001001É&#201;带尖锐重音
的大写字母 E
202312CA11001010Ê&#202;带音调符号
的大写字母 E
203313CB11001011Ë&#203;带元音变音
(分音符号)
的大写字母 E
204314CC11001100Ì&#204;带重音符
的大写字母 I
205315CD11001101Í&#205;带尖锐重音
的大写字母 I
206316CE11001110Î&#206;带音调符号
的大写字母 I
207317CF11001111Ï&#207;带元音变音
(分音符号)
的大写字母 I
208320D011010000Ð&#208; 
209321D111010001Ñ&#209;带代字号
的大写字母 N
210322D211010010Ò&#210;带重音符
的大写字母 O
211323D311010011Ó&#211;带尖锐重音
的大写字母 O
212324D411010100Ô&#212;带音调符号
的大写字母 O
213325D511010101Õ&#213;带代字号
的大写字母 O
214326D611010110Ö&#214;带元音变音
(分音符号)
的大写字母 O
215327D711010111×&#215;大写字母
OE 连字
216330D811011000Ø&#216;带斜杠
的大写字母 O
217331D911011001Ù&#217;带重音符
的大写字母 U
218332DA11011010Ú&#218;带尖锐重音
的大写字母 U
219333DB11011011Û&#219;带音调符号
的大写字母 U
220334DC11011100Ü&#220;带元音变音
(分音符号)
的大写字母 U
221335DD11011101Ý&#221;带元音变音
(分音符号)
的大写字母 Y
222336DE11011110Þ&#222; 
223337DF11011111ß&#223;德语高调
小写字母 s
224340E011100000à&#224;带重音符
的小写字母 a
225341E111100001á&#225;带尖锐重音
的小写字母 a
226342E211100010â&#226;带音调符号
的小写字母 a
227343E311100011ã&#227;带代字号
的小写字母 a
228344E411100100ä&#228;带元音变音
(分音符号)
的小写字母 a
229345E511100101å&#229;带铃声的
小写字母 a
230346E611100110æ&#230;小写字母 ae
双重元音
231347E711100111ç&#231;带变音符号
的小写字母 c
232350E811101000è&#232;带重音符
的小写字母 e
233351E911101001é&#233;带尖锐重音
的小写字母 e
234352EA11101010ê&#234;带音调符号
的小写字母 e
235353EB11101011ë&#235;带元音变音
(分音符号)
的小写字母 e
236354EC11101100ì&#236;带重音符
的小写字母 i
237355ED11101101í&#237;带尖锐重音
的小写字母 i
238356EE11101110î&#238;带音调符号
的小写字母 i
239357EF11101111ï&#239;带元音变音
(分音符号)
的小写字母 i
240360F011110000ð&#240; 
241361F111110001ñ&#241;带代字号
的小写字母 n
242362F211110010ò&#242;带重音符
的小写字母 o
243363F311110011ó&#243;带尖锐重音
的小写字母 o
244364F411110100ô&#244;带音调符号
的小写字母 o
245365F511110101õ&#245;带代字号
的小写字母 o
246366F611110110ö&#246;带元音变音
(分音符号)
的小写字母 o
247367F711110111÷&#247;小写字母 oe
连字
248370F811111000ø&#248;带斜杠
的小写字母 o
249371F911111001ù&#249;带重音符
的小写字母 u
250372FA11111010ú&#250;带尖锐重音
的小写字母 u
251373FB11111011û&#251;带音调符号
的小写字母 u
252374FC11111100ü&#252;带元音变音
(分音符号)
的小写字母 u
253375FD11111101ý&#253;带元音变音
(分音符号)
的小写字母 y2
254376FE11111110þ&#254; 
255377FF11111111ÿ&#255; 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值