Python3 中bytes数据类型深入理解(ASCII码对照表)

您所在的位置:网站首页 数据类型打印是什么意思呀 Python3 中bytes数据类型深入理解(ASCII码对照表)

Python3 中bytes数据类型深入理解(ASCII码对照表)

2024-07-15 11:58| 来源: 网络整理| 查看: 265

bytes的来源

bytes 是 Python 3.x 新增的类型,在 Python 2.x 中是不存在的。

bytes 的意思是“字节”,以字节为单位存储数据。而一个字节二进制为8个比特位。

字节串(bytes)和字符串(string)的对比:

摘自:http://c.biancheng.net/view/2175.html

字符串由若干个字符组成,以字符为单位进行操作;字节串由若干个字节组成,以字节为单位进行操作。 字节串和字符串除了操作的数据单元不同之外,它们支持的所有方法都基本相同。 字节串和字符串都是不可变序列,不能随意增加和删除数据。

bytes 只负责以字节序列的形式(二进制形式)来存储数据,至于这些数据到底表示什么内容(字符串、数字、图片、音频等),完全由程序的解析方式决定。如果采用合适的字符编码方式(字符集),字节串可以恢复成字符串;反之亦然,字符串也可以转换成字节串。说白了,bytes 只是简单地记录内存中的原始数据,至于如何使用这些数据,bytes 并不在意,你想怎么使用就怎么使用,bytes 并不约束你的行为。bytes 类型的数据非常适合在互联网上传输,可以用于网络通信编程;bytes 也可以用来存储图片、音频、视频等二进制格式的文件。字符串和 bytes 存在着千丝万缕的联系,我们可以通过字符串来创建 bytes 对象,或者说将字符串转换成 bytes 对象。有以下三种方法可以达到这个目的:

如果字符串的内容都是 ASCII 字符,那么直接在字符串前面添加b前缀就可以转换成 bytes。 bytes 是一个类,调用它的构造方法,也就是 bytes(),可以将字符串按照指定的字符集转换成 bytes;如果不指定字符集,那么默认采用 UTF-8。

字符串本身有一个 encode() 方法,该方法专门用来将字符串按照指定的字符集转换成对应的字节串;如果不指定字符集,那么默认采用 UTF-8。

bytes的在Python 中的表示方法

bytes的在Python 中的表示法默认为展示对应的ASCII 字符,但ASCII码表256个中只有95个可以打印的字符。

如果一个bytes类型的数据(一串bytes 暂且叫做“字节串”)一些字节没有对应的可打印字符时,则用十六进制表示法展示。

 

#通过b前缀将字符串转换成 bytes b3 = b'http://c.biancheng.net/python/'print("b3: ", b3) b4 = bytes('C语言中文网8岁了', encoding='UTF-8') print("b4: ", b4)

输出

b3: b'http://c.biancheng.net/python/' b4: b'C\xe8\xaf\xad\xe8\xa8\x80\xe4\xb8\xad\xe6\x96\x87\xe7\xbd\x918\xe5\xb2\x81\xe4\xba\x86'

附录:ASCII码对照表

附一:基础ASCII码 128个,其中可打印字符95个

http://ascii.911cha.com/

ASCII控制字符 二进制十进制十六进制缩写可以显示的表示法名称/意义 0000 0000 0 00 NUL ␀ 空字符(Null) 0000 0001 1 01 SOH ␁ 标题开始 0000 0010 2 02 STX ␂ 本文开始 0000 0011 3 03 ETX ␃ 本文结束 0000 0100 4 04 EOT ␄ 传输结束 0000 0101 5 05 ENQ ␅ 请求 0000 0110 6 06 ACK ␆ 确认回应 0000 0111 7 07 BEL ␇ 响铃 0000 1000 8 08 BS ␈ 退格 0000 1001 9 09 HT ␉ 水平定位符号 0000 1010 10 0A LF ␊ 换行键 0000 1011 11 0B VT ␋ 垂直定位符号 0000 1100 12 0C FF ␌ 换页键 0000 1101 13 0D CR ␍ 归位键 0000 1110 14 0E SO ␎ 取消变换(Shift out) 0000 1111 15 0F SI ␏ 启用变换(Shift in) 0001 0000 16 10 DLE ␐ 跳出数据通讯 0001 0001 17 11 DC1 ␑ 设备控制一(XON 启用软件速度控制) 0001 0010 18 12 DC2 ␒ 设备控制二 0001 0011 19 13 DC3 ␓ 设备控制三(XOFF 停用软件速度控制) 0001 0100 20 14 DC4 ␔ 设备控制四 0001 0101 21 15 NAK ␕ 确认失败回应 0001 0110 22 16 SYN ␖ 同步用暂停 0001 0111 23 17 ETB ␗ 区块传输结束 0001 1000 24 18 CAN ␘ 取消 0001 1001 25 19 EM ␙ 连接介质中断 0001 1010 26 1A SUB ␚ 替换 0001 1011 27 1B ESC ␛ 跳出 0001 1100 28 1C FS ␜ 文件分割符 0001 1101 29 1D GS ␝ 组群分隔符 0001 1110 30 1E RS ␞ 记录分隔符 0001 1111 31 1F US ␟ 单元分隔符 0111 1111 127 7F DEL ␡ 删除 ASCII可显示字符 二进制十进制十六进制图形 0010 0000 32 20 (空格)(␠) 0010 0001 33 21 ! 0010 0010 34 22 " 0010 0011 35 23 # 0010 0100 36 24 $ 0010 0101 37 25  % 0010 0110 38 26 & 0010 0111 39 27 ' 0010 1000 40 28 ( 0010 1001 41 29 ) 0010 1010 42 2A * 0010 1011 43 2B + 0010 1100 44 2C , 0010 1101 45 2D - 0010 1110 46 2E . 0010 1111 47 2F / 0011 0000 48 30 0 0011 0001 49 31 1 0011 0010 50 32 2 0011 0011 51 33 3 0011 0100 52 34 4 0011 0101 53 35 5 0011 0110 54 36 6 0011 0111 55 37 7 0011 1000 56 38 8 0011 1001 57 39 9 0011 1010 58 3A : 0011 1011 59 3B ; 0011 1100 60 3C 0011 1111 63 3F ?   二进制十进制十六进制图形 0100 0000 64 40 @ 0100 0001 65 41 A 0100 0010 66 42 B 0100 0011 67 43 C 0100 0100 68 44 D 0100 0101 69 45 E 0100 0110 70 46 F 0100 0111 71 47 G 0100 1000 72 48 H 0100 1001 73 49 I 0100 1010 74 4A J 0100 1011 75 4B K 0100 1100 76 4C L 0100 1101 77 4D M 0100 1110 78 4E N 0100 1111 79 4F O 0101 0000 80 50 P 0101 0001 81 51 Q 0101 0010 82 52 R 0101 0011 83 53 S 0101 0100 84 54 T 0101 0101 85 55 U 0101 0110 86 56 V 0101 0111 87 57 W 0101 1000 88 58 X 0101 1001 89 59 Y 0101 1010 90 5A Z 0101 1011 91 5B [ 0101 1100 92 5C \ 0101 1101 93 5D ] 0101 1110 94 5E ^ 0101 1111 95 5F _   二进制十进制十六进制图形 0110 0000 96 60 ` 0110 0001 97 61 a 0110 0010 98 62 b 0110 0011 99 63 c 0110 0100 100 64 d 0110 0101 101 65 e 0110 0110 102 66 f 0110 0111 103 67 g 0110 1000 104 68 h 0110 1001 105 69 i 0110 1010 106 6A j 0110 1011 107 6B k 0110 1100 108 6C l 0110 1101 109 6D m 0110 1110 110 6E n 0110 1111 111 6F o 0111 0000 112 70 p 0111 0001 113 71 q 0111 0010 114 72 r 0111 0011 115 73 s 0111 0100 116 74 t 0111 0101 117 75 u 0111 0110 118 76 v 0111 0111 119 77 w 0111 1000 120 78 x 0111 1001 121 79 y 0111 1010 122 7A z 0111 1011 123 7B { 0111 1100 124 7C | 0111 1101 125 7D } 0111 1110 126 7E ~

附二:扩展ASCII码,默认都不可打印

    https://tool.ip138.com/ascii_code/

DECOCTHEXBIN缩写/符号HTML实体描述 128 200 80 10000000 € € Euro sign 129 201 81 10000001       130 202 82 10000010 ‚ ‚ Single low-9 quotation mark 131 203 83 10000011 ƒ ƒ Latin small letter f with hook 132 204 84 10000100 „ „ Double low-9 quotation mark 133 205 85 10000101 … … Horizontal ellipsis 134 206 86 10000110 † † Dagger 135 207 87 10000111 ‡ ‡ Double dagger 136 210 88 10001000 ˆ ˆ Modifier letter circumflex accent 137 211 89 10001001 ‰ ‰ Per mille sign 138 212 8A 10001010 Š Š Latin capital letter S with caron 139 213 8B 10001011 ‹ ‹ Single left-pointing angle quotation 140 214 8C 10001100 Œ Œ Latin capital ligature OE 141 215 8D 10001101       142 216 8E 10001110 Ž Ž Latin capital letter Z with caron 143 217 8F 10001111       144 220 90 10010000       145 221 91 10010001 ‘ ‘ Left single quotation mark 146 222 92 10010010 ’ ’ Right single quotation mark 147 223 93 10010011 “ “ Left double quotation mark 148 224 94 10010100 ” ” Right double quotation mark 149 225 95 10010101 • • Bullet 150 226 96 10010110 – – En dash 151 227 97 10010111 — — Em dash 152 230 98 10011000 ˜ ˜ Small tilde 153 231 99 10011001 ™ ™ Trade mark sign 154 232 9A 10011010 š š Latin small letter S with caron 155 233 9B 10011011 › › Single right-pointing angle quotation mark 156 234 9C 10011100 œ œ Latin small ligature oe 157 235 9D 10011101       158 236 9E 10011110 ž ž Latin small letter z with caron 159 237 9F 10011111 Ÿ Ÿ Latin capital letter Y with diaeresis 160 240 A0 10100000     Non-breaking space 161 241 A1 10100001 ¡ ¡ Inverted exclamation mark 162 242 A2 10100010 ¢ ¢ Cent sign 163 243 A3 10100011 £ £ Pound sign 164 244 A4 10100100 ¤ ¤ Currency sign 165 245 A5 10100101 ¥ ¥ Yen sign 166 246 A6 10100110 ¦ ¦ Pipe, Broken vertical bar 167 247 A7 10100111 § § Section sign 168 250 A8 10101000 ¨ ¨ Spacing diaeresis - umlaut 169 251 A9 10101001 © © Copyright sign 170 252 AA 10101010 ª ª Feminine ordinal indicator 171 253 AB 10101011 « « Left double angle quotes 172 254 AC 10101100 ¬ ¬ Not sign 173 255 AD 10101101 ­ ­ Soft hyphen 174 256 AE 10101110 ® ® Registered trade mark sign 175 257 AF 10101111 ¯ ¯ Spacing macron - overline 176 260 B0 10110000 ° ° Degree sign 177 261 B1 10110001 ± ± Plus-or-minus sign 178 262 B2 10110010 ² ² Superscript two - squared 179 263 B3 10110011 ³ ³ Superscript three - cubed 180 264 B4 10110100 ´ ´ Acute accent - spacing acute 181 265 B5 10110101 µ µ Micro sign 182 266 B6 10110110 ¶ ¶ Pilcrow sign - paragraph sign 183 267 B7 10110111 · · Middle dot - Georgian comma 184 270 B8 10111000 ¸ ¸ Spacing cedilla 185 271 B9 10111001 ¹ ¹ Superscript one 186 272 BA 10111010 º º Masculine ordinal indicator 187 273 BB 10111011 » » Right double angle quotes 188 274 BC 10111100 ¼ ¼ Fraction one quarter 189 275 BD 10111101 ½ ½ Fraction one half 190 276 BE 10111110 ¾ ¾ Fraction three quarters 191 277 BF 10111111 ¿ ¿ Inverted question mark 192 300 C0 11000000 À À Latin capital letter A with grave 193 301 C1 11000001 Á Á Latin capital letter A with acute 194 302 C2 11000010   Latin capital letter A with circumflex 195 303 C3 11000011 à à Latin capital letter A with tilde 196 304 C4 11000100 Ä Ä Latin capital letter A with diaeresis 197 305 C5 11000101 Å Å Latin capital letter A with ring above 198 306 C6 11000110 Æ Æ Latin capital letter AE 199 307 C7 11000111 Ç Ç Latin capital letter C with cedilla 200 310 C8 11001000 È È Latin capital letter E with grave 201 311 C9 11001001 É É Latin capital letter E with acute 202 312 CA 11001010 Ê Ê Latin capital letter E with circumflex 203 313 CB 11001011 Ë Ë Latin capital letter E with diaeresis 204 314 CC 11001100 Ì Ì Latin capital letter I with grave 205 315 CD 11001101 Í Í Latin capital letter I with acute 206 316 CE 11001110 Î Î Latin capital letter I with circumflex 207 317 CF 11001111 Ï Ï Latin capital letter I with diaeresis 208 320 D0 11010000 Ð Ð Latin capital letter ETH 209 321 D1 11010001 Ñ Ñ Latin capital letter N with tilde 210 322 D2 11010010 Ò Ò Latin capital letter O with grave 211 323 D3 11010011 Ó Ó Latin capital letter O with acute 212 324 D4 11010100 Ô Ô Latin capital letter O with circumflex 213 325 D5 11010101 Õ Õ Latin capital letter O with tilde 214 326 D6 11010110 Ö Ö Latin capital letter O with diaeresis 215 327 D7 11010111 × × Multiplication sign 216 330 D8 11011000 Ø Ø Latin capital letter O with slash 217 331 D9 11011001 Ù Ù Latin capital letter U with grave 218 332 DA 11011010 Ú Ú Latin capital letter U with acute 219 333 DB 11011011 Û Û Latin capital letter U with circumflex 220 334 DC 11011100 Ü Ü Latin capital letter U with diaeresis 221 335 DD 11011101 Ý Ý Latin capital letter Y with acute 222 336 DE 11011110 Þ Þ Latin capital letter THORN 223 337 DF 11011111 ß ß Latin small letter sharp s - ess-zed 224 340 E0 11100000 à à Latin small letter a with grave 225 341 E1 11100001 á á Latin small letter a with acute 226 342 E2 11100010 â â Latin small letter a with circumflex 227 343 E3 11100011 ã ã Latin small letter a with tilde 228 344 E4 11100100 ä ä Latin small letter a with diaeresis 229 345 E5 11100101 å å Latin small letter a with ring above 230 346 E6 11100110 æ æ Latin small letter ae 231 347 E7 11100111 ç ç Latin small letter c with cedilla 232 350 E8 11101000 è è Latin small letter e with grave 233 351 E9 11101001 é é Latin small letter e with acute 234 352 EA 11101010 ê ê Latin small letter e with circumflex 235 353 EB 11101011 ë ë Latin small letter e with diaeresis 236 354 EC 11101100 ì ì Latin small letter i with grave 237 355 ED 11101101 í í Latin small letter i with acute 238 356 EE 11101110 î î Latin small letter i with circumflex 239 357 EF 11101111 ï ï Latin small letter i with diaeresis 240 360 F0 11110000 ð ð Latin small letter eth 241 361 F1 11110001 ñ ñ Latin small letter n with tilde 242 362 F2 11110010 ò ò Latin small letter o with grave 243 363 F3 11110011 ó ó Latin small letter o with acute 244 364 F4 11110100 ô ô Latin small letter o with circumflex 245 365 F5 11110101 õ õ Latin small letter o with tilde 246 366 F6 11110110 ö ö Latin small letter o with diaeresis 247 367 F7 11110111 ÷ ÷ Division sign 248 370 F8 11111000 ø ø Latin small letter o with slash 249 371 F9 11111001 ù ù Latin small letter u with grave 250 372 FA 11111010 ú ú Latin small letter u with acute 251 373 FB 11111011 û û Latin small letter u with circumflex 252 374 FC 11111100 ü ü Latin small letter u with diaeresis 253 375 FD 11111101 ý ý Latin small letter y with acute 254 376 FE 11111110 þ þ Latin small letter thorn 255 377 FF 11111111 ÿ ÿ Latin small letter y with diaeresis

 str和bytes的区别bytes在python3中明确表示2进制数据。

字符串和二进制bytes之间的转换

字符串-->二进制,使用encode()

二进制-->字符串,使用decode('字符编码XXX')

decode('unicode_escape')

decode('utf-8')

...参考https://www.cnblogs.com/zhangmingda/p/9030229.html

 

256



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3