本帖最后由 batman 于 2011-5-13 00:57 编辑
思路:
0-9的数字就用原值存储(原来用两个字符存储压缩一半),a-z和A-Z全用a-z表示(压缩比视大小写字母比),非数值非字母可见字符用原值存储(原来用两个字符存储压缩一半,),回车换行退格分别用A、B、C存储(压缩一半)。 | @echo off&setlocal enabledelayedexpansion | | for /f "skip=8 tokens=1*" %%a in (%~fs0) do set "%%a=%%b" | | set "str=4D5A90000300000004000000FFFF0000B800000000000000400000000000000000000000000000000000000000000000000000000000000000000000E00000000E1FBA0E00B409CD21B8014CCD21546869732070726F6772616D2063616E6E6F742062652072756E20696E20444F53206D6F64652E0D0D0A2400000000000000484CF28A0C2D9CD90C2D9CD90C2D9CD90C2D9CD90F2D9CD9633296D9072D9CD98F3192D90D2D9CD9633298D90F2D9CD90C2D9DD91C2D9CD93A0B96D90D2D9CD9526963680C2D9CD9000000000000000000000000000000000000000000000000504500004C0103002B63CA4D0000000000000000E0000F010B0106009001000030020000000000008E02000050020000E003000000004000100000001000000004000000000000000400000000000000100600005002000000000000030000000000100000100000000010000010000000000000100000000000000000000000340400003C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E0030000440000000000000000000000000000000000000000000000000000002E7465787400000082010000500200009001000050020000000000000000000000000000200000602E72646174610000CA010000E0030000D0010000E0030000000000000000000000000000400000402E646174610000005C000000B005000060000000B0050000000000000000000000000000400000C0837C2404037D0F68C4054000E827000000596A0158C38B44240833C95151FF7008FF700451E85201000068C0054000E8040000005933C0C3FF25E0034000558BEC6AFF682804400068C003400064A100000000506489250000000083EC205356578965E88365FC006A01FF150C04400059830D00064000FF830D04064000FFFF15080440008B0DFC0540008908FF15040440008B0DF80540008908A1000440008B00A308064000E8C3000000833DE005400000750C68BC034000FF15FC03400059E89400000068BC05400068B8054000E87F000000A1F40540008945D88D45D850FF35F00540008D45E0508D45D4508D45E450FF15F403400068B405400068B0054000E84C000000FF15F00340008B4DE08908FF75E0FF75D4FF75E4E8DFFEFFFF83C4308945DC50FF15EC0340008B45EC8B088B09894DD05051E80F0000005959C38B65E8FF75D0FF15E4034000FF25E8034000FF25F803400068000003006800000100E80D0000005959C333C0C3C3FF2510044000FF2514044000FF251C0440000000000000000000000000000000B4040000C8040000D0040000DE040000E6040000F6040000060500001205000026050000360500004605000054050000660500007A05000000000000880500000000000000000000FFFFFFFF7E03400092034000700400000000000000000000BC040000E0030000AC04000000000000000000009E0500001C0400000000000000000000000000000000000000000000B4040000C8040000D0040000DE040000E6040000F6040000060500001205000026050000360500004605000054050000660500007A050000000000008805000000000000A1027075747300004D53564352542E646C6C0000D3005F657869740048005F5863707446696C74657200490265786974000064005F5F705F5F5F696E6974656E760058005F5F6765746D61696E61726773000F015F696E69747465726D0083005F5F736574757365726D61746865727200009D005F61646A7573745F6664697600006A005F5F705F5F636F6D6D6F646500006F005F5F705F5F666D6F6465000081005F5F7365745F6170705F747970650000CA005F6578636570745F68616E646C6572330000B7005F636F6E74726F6C667000003E0055524C446F776E6C6F6164546F46696C6541000075726C6D6F6E2E646C6C0000000000000000000000000000000000000000000000004F4B210055736167653A20444F574E203C75726C3E203C706174683E000000000100" | | :lp | | set "var=!var!!%str:~,2%!" | | if defined str set "str=%str:~2%"&goto lp | | set "var=!var:空格= !" | | echo !var:跳格= ! | | pause>nul&goto :eof | | 09 跳格 | | 20 空格 | | 21 ! | | 22 " | | 23 # | | 24 $ | | 25 % | | 26 & | | 27 ' | | 28 ( | | 29 ) | | 2A * | | 2B + | | 2C , | | 2D - | | 2E . | | 2F / | | 30 0 | | 31 1 | | 32 2 | | 33 3 | | 34 4 | | 35 5 | | 36 6 | | 37 7 | | 38 8 | | 39 9 | | 3A : | | 3B ; | | 3C < | | 3D = | | 3E > | | 3F ? | | 40 @ | | 41 a | | 42 b | | 43 C | | 44 d | | 45 e | | 46 f | | 47 g | | 48 h | | 49 i | | 4A j | | 4B k | | 4C l | | 4D m | | 4E n | | 4F o | | 50 p | | 51 q | | 52 r | | 53 s | | 54 t | | 55 u | | 56 v | | 57 w | | 58 x | | 59 y | | 5A z | | 5B [ | | 5C \ | | 5D ] | | 5E ^ | | 5F _ | | 60 ` | | 61 a | | 62 b | | 63 c | | 64 d | | 65 e | | 66 f | | 67 g | | 68 h | | 69 i | | 6A j | | 6B k | | 6C l | | 6D m | | 6E n | | 6F o | | 70 p | | 71 q | | 72 r | | 73 s | | 74 t | | 75 u | | 76 v | | 77 w | | 78 x | | 79 y | | 7A z | | 7B { | | 7C | | | 7D } | | 7E ~ | | 0A A | | 0D B | | 08 C COPY |
|