跳转至

字节数据 数据编码

时间:2020-11-06 14:53:53

参考:

字节数据-常用编码算法#

在计算机存储中一个字节占八位空间,即 0000 0000。Base32 用一个字节表示5位 000,原来5个字节的数据使用Base32需要使用8个字节。Base64用一个字节表示6位 000000,即原来使用6个字节保存的数据使用Base64需要8个字节。URL Encode 是把URL中的特殊字符进行编码。

Base32 (2^5)#

Base 32 把数据分成五位,五位用一个字节表示,如果位数的长度不是5和8的最小公倍数,则填充位数,用0填充。如果长度不是最小公倍数,后面每五位用一个 = 表示。

Base 64 把数据分成六位,六位用一个字节表示,如果位数的长度不是6和8的最小公倍数,则填充位数,用零填充。如果长度不是最小公倍数,后面每六位用一个 = 表示。

如:

1(ascii) =>0011 0001( 八位2进制) => 00110 00100 ----- ----- ----- ----- ----- ----- (补零和填充)=> GE====== (Base32 编码)

URL Encode#

URL编码,编码规则:

  1. 先把URL内容转换为字节。
  2. [A-Z] [a-z] [0-9] - _ . * 不需要转义。
  3. 空格转换为+号。
  4. 其余字节转换为 %X1X2 的形式。假设字节为 byte 则:

    X1 = 转大写(转16进制((byte >> 4) & 0xF))
    X2 = 转大写(转16进制((byte) & 0xF))
    

编码表#

二进制 八进制 值(十进制) 16进制 Base32 Base64 US-ASCII ASCII
0000 0000 0 0 0 A A
0000 0001 1 1 1 B B  
0000 0010 2 2 2 C C
0000 0011 3 3 3 D D
0000 0100 4 4 4 E E  
0000 0101 5 5 5 F F  
0000 0110 6 6 6 G G  
0000 0111 7 7 7 H H  
0000 1000 10 8 8 I I
0000 1001 11 9 9 J J
0000 1010 12 10 a K K
0000 1011 13 11 b L L
0000 1100 14 12 c M M
0000 1101 15 13 d N N
0000 1110 16 14 e O O  
0000 1111 17 15 f P P  
0001 0000 20 16 10 Q Q  
0001 0001 21 17 11 R R  
0001 0010 22 18 12 S S  
0001 0011 23 19 13 T T  
0001 0100 24 20 14 U U  
0001 0101 25 21 15 V V  
0001 0110 26 22 16 W W  
0001 0111 27 23 17 X X  
0001 1000 30 24 18 Y Y  
0001 1001 31 25 19 Z Z  
0001 1010 32 26 1a 2 a  
0001 1011 33 27 1b 3 b  
0001 1100 34 28 1c 4 c  
0001 1101 35 29 1d 5 d  
0001 1110 36 30 1e 6 e  
0001 1111 37 31 1f 7 f  
0010 0000 40 32 20 g 空格 空格
0010 0001 41 33 21 h ! !
0010 0010 42 34 22 i " "
0010 0011 43 35 23 j # #
0010 0100 44 36 24 k $ $
0010 0101 45 37 25 l % %
0010 0110 46 38 26 m & &
0010 0111 47 39 27 n ' '
0010 1000 50 40 28 o ( (
0010 1001 51 41 29 p ) )
0010 1010 52 42 2a q * *
0010 1011 53 43 2b r + +
0010 1100 54 44 2c s , ,
0010 1101 55 45 2d t - -
0010 1110 56 46 2e u . .
0010 1111 57 47 2f v / /
0011 0000 60 48 30 w 0 0
0011 0001 61 49 31 x 1 1
0011 0010 62 50 32 y 2 2
0011 0011 63 51 33 z 3 3
0011 0100 64 52 34 0 4 4
0011 0101 65 53 35 1 5 5
0011 0110 66 54 36 2 6 6
0011 0111 67 55 37 3 7 7
0011 1000 70 56 38 4 8 8
0011 1001 71 57 39 5 9 9
0011 1010 72 58 3a 6 : :
0011 1011 73 59 3b 7 ; ;
0011 1100 74 60 3c 8 < <
0011 1101 75 61 3d 9 = =
0011 1110 76 62 3e + > >
0011 1111 77 63 3f / ? ?
0100 0000 100 64 40 @ @
0100 0001 101 65 41 A A
0100 0010 102 66 42 B B
0100 0011 103 67 43 C C
0100 0100 104 68 44 D D
0100 0101 105 69 45 E E
0100 0110 106 70 46 F F
0100 0111 107 71 47 G G
0100 1000 110 72 48 H H
0100 1001 111 73 49 I I
0100 1010 112 74 4a J J
0100 1011 113 75 4b K K
0100 1100 114 76 4c L L
0100 1101 115 77 4d M M
0100 1110 116 78 4e N N
0100 1111 117 79 4f O O
0101 0000 120 80 50 P P
0101 0001 121 81 51 Q Q
0101 0010 122 82 52 R R
0101 0011 123 83 53 S S
0101 0100 124 84 54 T T
0101 0101 125 85 55 U U
0101 0110 126 86 56 V V
0101 0111 127 87 57 W W
0101 1000 130 88 58 X X
0101 1001 131 89 59 Y Y
0101 1010 132 90 5a Z Z
0101 1011 133 91 5b [ [
0101 1100 134 92 5c ||
0101 1101 135 93 5d ] ]
0101 1110 136 94 5e ^ ^
0101 1111 137 95 5f _ _
0110 0000 140 96 60 |
0110 0001 141 97 61 a a
0110 0010 142 98 62 b b
0110 0011 143 99 63 c c
0110 0100 144 100 64 d d
0110 0101 145 101 65 e e
0110 0110 146 102 66 f f
0110 0111 147 103 67 g g
0110 1000 150 104 68 h h
0110 1001 151 105 69 i i
0110 1010 152 106 6a j j
0110 1011 153 107 6b k k
0110 1100 154 108 6c l l
0110 1101 155 109 6d m m
0110 1110 156 110 6e n n
0110 1111 157 111 6f o o
0111 0000 160 112 70 p p
0111 0001 161 113 71 q q
0111 0010 162 114 72 r r
0111 0011 163 115 73 s s
0111 0100 164 116 74 t t
0111 0101 165 117 75 u u
0111 0110 166 118 76 v v
0111 0111 167 119 77 w w
0111 1000 170 120 78 x x
0111 1001 171 121 79 y y
0111 1010 172 122 7a z z
0111 1011 173 123 7b { {
0111 1100 174 124 7c
0111 1101 175 125 7d } }
0111 1110 176 126 7e ~
0111 1111 177 127 7f 
1000 0000 200 128 80 €
1000 0001 201 129 81 
1000 0010 202 130 82 ‚
1000 0011 203 131 83 ƒ
1000 0100 204 132 84 „
1000 0101 205 133 85 …
1000 0110 206 134 86 †
1000 0111 207 135 87 ‡
1000 1000 210 136 88 ˆ
1000 1001 211 137 89 ‰
1000 1010 212 138 8a Š
1000 1011 213 139 8b ‹
1000 1100 214 140 8c Œ
1000 1101 215 141 8d 
1000 1110 216 142 8e Ž
1000 1111 217 143 8f 
1001 0000 220 144 90 
1001 0001 221 145 91 ‘
1001 0010 222 146 92 ’
1001 0011 223 147 93 “
1001 0100 224 148 94 ”
1001 0101 225 149 95 •
1001 0110 226 150 96 –
1001 0111 227 151 97 —
1001 1000 230 152 98 ˜
1001 1001 231 153 99 ™
1001 1010 232 154 9a š
1001 1011 233 155 9b ›
1001 1100 234 156 9c œ
1001 1101 235 157 9d 
1001 1110 236 158 9e ž
1001 1111 237 159 9f Ÿ
1010 0000 240 160 a0  
1010 0001 241 161 a1 ¡
1010 0010 242 162 a2 ¢
1010 0011 243 163 a3 £
1010 0100 244 164 a4 ¤
1010 0101 245 165 a5 ¥
1010 0110 246 166 a6 ¦
1010 0111 247 167 a7 §
1010 1000 250 168 a8 ¨
1010 1001 251 169 a9 ©
1010 1010 252 170 aa ª
1010 1011 253 171 ab «
1010 1100 254 172 ac ¬
1010 1101 255 173 ad ­
1010 1110 256 174 ae ®
1010 1111 257 175 af ¯
1011 0000 260 176 b0 °
1011 0001 261 177 b1 ±
1011 0010 262 178 b2 ²
1011 0011 263 179 b3 ³
1011 0100 264 180 b4 ´
1011 0101 265 181 b5 µ
1011 0110 266 182 b6
1011 0111 267 183 b7 ·
1011 1000 270 184 b8 ¸
1011 1001 271 185 b9 ¹
1011 1010 272 186 ba º
1011 1011 273 187 bb »
1011 1100 274 188 bc ¼
1011 1101 275 189 bd ½
1011 1110 276 190 be ¾
1011 1111 277 191 bf ¿
1100 0000 300 192 c0 À
1100 0001 301 193 c1 Á
1100 0010 302 194 c2 Â
1100 0011 303 195 c3 Ã
1100 0100 304 196 c4 Ä
1100 0101 305 197 c5 Å
1100 0110 306 198 c6 Æ
1100 0111 307 199 c7 Ç
1100 1000 310 200 c8 È
1100 1001 311 201 c9 É
1100 1010 312 202 ca Ê
1100 1011 313 203 cb Ë
1100 1100 314 204 cc Ì
1100 1101 315 205 cd Í
1100 1110 316 206 ce Î
1100 1111 317 207 cf Ï
1101 0000 320 208 d0 Ð
1101 0001 321 209 d1 Ñ
1101 0010 322 210 d2 Ò
1101 0011 323 211 d3 Ó
1101 0100 324 212 d4 Ô
1101 0101 325 213 d5 Õ
1101 0110 326 214 d6 Ö
1101 0111 327 215 d7 ×
1101 1000 330 216 d8 Ø
1101 1001 331 217 d9 Ù
1101 1010 332 218 da Ú
1101 1011 333 219 db Û
1101 1100 334 220 dc Ü
1101 1101 335 221 dd Ý
1101 1110 336 222 de Þ
1101 1111 337 223 df ß
1110 0000 340 224 e0 à
1110 0001 341 225 e1 á
1110 0010 342 226 e2 â
1110 0011 343 227 e3 ã
1110 0100 344 228 e4 ä
1110 0101 345 229 e5 å
1110 0110 346 230 e6 æ
1110 0111 347 231 e7 ç
1110 1000 350 232 e8 è
1110 1001 351 233 e9 é
1110 1010 352 234 ea ê
1110 1011 353 235 eb ë
1110 1100 354 236 ec ì
1110 1101 355 237 ed í
1110 1110 356 238 ee î
1110 1111 357 239 ef ï
1111 0000 360 240 f0 ð
1111 0001 361 241 f1 ñ
1111 0010 362 242 f2 ò
1111 0011 363 243 f3 ó
1111 0100 364 244 f4 ô
1111 0101 365 245 f5 õ
1111 0110 366 246 f6 ö
1111 0111 367 247 f7 ÷
1111 1000 370 248 f8 ø
1111 1001 371 249 f9 ù
1111 1010 372 250 fa ú
1111 1011 373 251 fb û
1111 1100 374 252 fc ü
1111 1101 375 253 fd ý
1111 1110 376 254 fe þ
1111 1111 377 255 ff ÿ