[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 plp626 于 2012-3-2 16:22 编辑

入口参数4个,每3个ascii值为一组,不足的用-1代替;第四个参数为返回值变量名
  1. :ascii2base64 <int> <int> <int> <ret> //code by plp;
  2. setlocal enabledelayedexpansion&Set/a a1=%1,a2=%2,a3=%3
  3. set/a "b1=a1/4,b2=a1%%4<<4|a2/16,b3=(a2%%16<<2|a3/64)-3*(a2>>31),b4=a3%%64"
  4. Set s=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
  5. Set $=&Set $=!s:~%b1%,1!!s:~%b2%,1!!s:~%b3%,1!!s:~%b4%,1!
  6. endlocal&Set %4=%$%&goto:eof
复制代码
1

评分人数

TOP

本帖最后由 plp626 于 2012-3-2 23:17 编辑

ascii 转 base64编码
  1. @ECHO off
  2. :: base64_d.cmd version 1.0
  3. :: ascii文件(字符串) 转 base64编码存储
  4. :: 用法:第一个参数为文件名,或字符串,建议第一个参数用双引号引起来;
  5. ::       若当期路径没有%1文件名, 则%1被当做字符串处理;
  6. :: 程序依赖ascii转hex的外部程序hex.cmd(version 1.1即可),下载地址:
  7. :: http://www.bathome.net/thread-12688-1-1.html
  8. setlocal enabledelayedexpansion
  9. set "str="
  10. for /f "tokens=1-3" %%a in ('hex.cmd "%~1" 3')do (
  11.         if %%b%%c.==. (
  12.                 call:ascii2base64 0x%%a -1 -1 ans
  13.         )else if %%c.==. (
  14.                 call:ascii2base64 0x%%a 0x%%b -1 ans
  15.         )else (
  16.                 call:ascii2base64 0x%%a 0x%%b 0x%%c ans
  17.         )
  18.         set/p=!ans!<nul
  19. )
  20. goto:eof
  21. :ascii2base64 <int> <int> <int> <ret> //code by plp;
  22. setlocal&Set/a a1=%1,a2=%2,a3=%3
  23. set/a "b1=a1/4,b2=a1%%4<<4|a2/16,b3=(a2%%16<<2|a3/64)-3*(a2>>31),b4=a3%%64"
  24. Set s=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
  25. Set $=&Set $=!s:~%b1%,1!!s:~%b2%,1!!s:~%b3%,1!!s:~%b4%,1!
  26. endlocal&Set %4=%$%&goto:eof
复制代码
1

评分人数

TOP

返回列表