[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
卧槽,史上最快版本迭代

TOP

本帖最后由 CrLf 于 2016-10-20 23:21 编辑

回复 6# happy886rr


    效果很好,尤其是 EXE 的 Base64,但是目前只适用于 A,若要扩展到其他字符,如何区分不同的层?

TOP

本帖最后由 CrLf 于 2016-10-20 23:34 编辑

附顶楼压缩代码:
  1. @echo off
  2. REM 原始数据
  3. set "LINE=TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJAAAAAAAAABQRQAATAECAAAAAAAAAAAAAAAAAOAADwMLAQYAAAAAAAAAAAAAAAAAYBUAAAAQAAAAIAAAAABAAAAQAAAAAgAABAAAAAAAAAAEAAAAAAAAAAAwAAAAAgAANQwBAAMAAAAAABAAABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAACAgAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcIAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC50ZXh0AAAAUAcAAAAQAAAACAAAAAIAAAAAAAAAAAAAAAAAACAAAGAuZGF0YQAAACACAAAAIAAAAAQAAAAKAAAAAAAAAAAAAAAAAABAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVieWB7AgAAACQuAAAAABQuAAAAABQuAAAAABQuAAAAABQuP////9Qi0UIULgAAAAAULgAAAAAUOhzBgAAiUX4i0X4QLkBAAAAUVDoaAYAAIPECIlF/LgAAAAAULgAAAAAUItF+FCLRfxQuP////9Qi0UIULgAAAAAULgAAAAAUOgrBgAAi0X86QAAAADJw1WJ5YHsCAAAAJC4AAAAAFC4AAAAAFC4/////1CLRQhQuAAAAABQuOn9AABQ6AAGAACJRfyLRfxAuQIAAABRUOjlBQAAg8QIiUX4i0X8UItF+FC4/////1CLRQhQuAAAAABQuOn9AABQ6MQFAACLRfjpAAAAAMnDVYnlgewIAAAAkLgAAAAAiUX8uAAAAABQi0UYUItFCFDonQUAAIPEDItFCFDomQUAAIPEBIXAD4QFAAAA6dgAAAC4AQAAAFC4ABAAAFDoYAUAAIPECIlF+ItFCFC4ABAAAFCLRfhQ6GcFAACDxAyFwA+EngAAAItF/InBQIlF/ItFDIXAD4QFAAAA6YUAAACLRfyLTRA5yA+MdwAAAItF/ItNFDnID44KAAAAuP/////pjQAAAItFGIXAD4QFAAAA6RsAAACLBXggQACDwCBQi0X4UOgCBQAAg8QI6TQAAACLRRiD+AMPhSgAAACLRfhQ6JT+//+DxARQ6Pz9//+DxASLDXggQACDwSBRUOjJBAAAg8QI6Q////+LRfhQ6MAEAACDxASLRQyFwA+ECAAAAItF/OkKAAAAuAAAAADpAAAAAMnDVYnlgewEAAAAkLgBAAAAULgCAAAAUOhTBAAAg8QIiUX8uAAAAABQuAAAAABQi0UIUOhIBAAAg8QMi0UIULgCAAAAULgBAAAAUItF/FDoVAQAAIPEEItF/A+2CIH57wAAAA+FIgAAAItF/EAPtgiB+bsAAAAPhQ8AAAC4AwAAAOlyAAAA6WMAAACLRfwPtgiB+f8AAAAPhSIAAACLRfxAD7YIgfn+AAAAD4UPAAAAuAIAAADpPgAAAOkvAAAAi0X8D7YIgfn+AAAAD4UdAAAAi0X8QA+2CIH5/wAAAA+FCgAAALgCAAAA6QoAAAC4AAAAAOkAAAAAycNVieWB7BgAAACQi0UMg8AEuQAgQABRiwhR6JgDAACDxAiJReiLReiD+AAPhQ8AAAC4AwAAAOnQAQAA6R8AAACLRehQ6MD+//+DxASJReyLRehQ6**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"
  4. setlocal enabledelayedexpansion
  5. set "Z=A"
  6. for %%Z in (@,-,#,$,_,},{,],[) do (
  7. for %%S in (!Z!) do (
  8. set "LINE=!LINE:%%S%%S=%%Z!"
  9. )
  10. set "Z=%%Z"
  11. )
  12. echo !LINE!
  13. pause
复制代码

TOP

回复 10# happy886rr


    是哦,我怎么没想到

TOP

回复 24# wskwfkbdn


神器1:http://www.bathome.net/s/tool/index.html?key=enca
神器2:http://www.bathome.net/s/tool/index.html?key=file

或 mshta:
  1. mshta http://bathome.net/s/hta/?string "t=iconv.load('a.html');list.charset().where(function(c){return iconv.toStr(t,c)})"|more
复制代码
http://www.bathome.net/viewthread.php?tid=39824

TOP

本帖最后由 CrLf 于 2016-10-26 02:45 编辑

如果不考虑复杂度的话,该算法还可优化,例如:
AAAAAAAABBBBBBBBCDEBBBBBBBBCCCCAAAAAAAAAAAA

用顶楼算法得到的结果是:
#  BBBBBBBB  CDE  BBBBBBBB  CCCC  #-

进一步压缩得到的结果是(规则参考附文):
#  >B#  CDE  #  >C-  <#-
规则是在重复字符发生变化的节点前声明此后的重复字符,如多个重复字符串比邻,则仅需声明一次:
>B 此后的所有 @ - # $ _ } { ] [ 均表示特定个数的 B
>C 同上,表示特定个数的 C
<  同上,表示特定个数的 A(默认)
接下来可以再考虑如何处理重复的词

TOP

返回列表