标题: [原创]计算字符串的字节数
[打印本页]
作者: s11ss
时间: 2008-12-13 18:25
标题: [原创]计算字符串的字节数
@ %LENB {s11ss@bbs.cn-dos.net 2008-12-13}%
@FINDSTR /V "^@" "%~F0" > LENB.COM
@LENB %*
@SET N=0
@IF ERRORLEVEL 1 SET /A N=%ERRORLEVEL%-1
@ECHO %N%
@DEL LENB.COM
:0hmrX-D@-r0P[h$pX-p#P]3/1/horX-D@-r0P[h?EX-r#P]3/1/h#rX-cA-@0P[1/3/UXtoum
[
Last edited by s11ss on 2009-1-16 at 14:22 ]
作者: holucan
时间: 2008-12-13 22:17
请问这该如何使用呢?
作者: s11ss
时间: 2008-12-13 22:25
命令行:
len.bat string
作者: holucan
时间: 2008-12-13 22:28
收到!谢谢解说;)
作者: yishanju
时间: 2008-12-14 16:31
其实我更想关心,是怎么实现的,,,不抽空解说一下么
作者: s11ss
时间: 2008-12-14 17:31
Quote: |
Originally posted by yishanju at 2008-12-14 04:31 PM:
其实我更想关心,是怎么实现的,,,不抽空解说一下么 |
|
取ds:80h处的值并返回;再用push和pop等改造成ASCode,即最后那行。
[
Last edited by s11ss on 2008-12-14 at 17:32 ]
作者: BC
时间: 2008-12-14 19:58
太牛了...
干涩难懂的汇编语言真有作为。
作者: chenall
时间: 2008-12-14 21:23
太牛了,用汇编,而且还有经典的纯字符
0hmrX-D@-r0P[h$pX-p#P]3/1/horX-D@-r0P[h?EX-r#P]3/1/h#rX-cA-@0P[1/3/UXtoum
这个把程序转成纯字符,是如何实现的?
作者: s11ss
时间: 2008-12-14 21:38
Quote: |
Originally posted by chenall at 2008-12-14 09:23 PM:
太牛了,用汇编,而且还有经典的纯字符
0hmrX-D@-r0P[h$pX-p#P]3/1/horX-D@-r0P[h?EX-r#P]3/1/h#rX-cA-@0P[1/3/UXtoum
这个把程序转成纯字符,是如何实现的? |
|
就是把反汇编代码改成等效的用push或pop等来指令组成的代码。上面说过了:)不知道到底有没有专门的转换程序……
[
Last edited by s11ss on 2008-12-14 at 21:39 ]
作者: skuny
时间: 2009-1-12 18:16
一个字 晕
看不懂哦!
作者: NeverAgain
时间: 2009-1-16 14:13
请教楼主:
参数的字节数和变量
errorlevel,为什么有直接联系?
作者: s11ss
时间: 2009-1-16 14:21
Quote: |
Originally posted by NeverAgain at 2009-1-16 02:13 PM:
请教楼主:
参数的字节数和变量errorlevel,为什么有直接联系? |
|
lenb.com返回值是参数的字节数
作者: NeverAgain
时间: 2009-1-16 16:54
Quote: |
Originally posted by s11ss at 2009-1-16 02:21 PM:
lenb.com返回值是参数的字节数 |
|
楼主还是没有回答我的问题~~
作者: netbenton
时间: 2009-1-18 00:30
标题: 我来一个纯批的
@echo off&setlocal enabledelayedexpansion
set "str=%*"&set n=0&set s=!str!
:loop
set /a n=!n!+16
set "m=!s!fedcba9876543210"
set "s=!str:~%n%!"
if not "!s!"=="" goto loop
set /a m=0x!m:~16,1!+!n!-15
echo "%str%" 有!m!个字节
pause
[
Last edited by netbenton on 2009-1-23 at 02:24 ]
作者: s11ss
时间: 2009-1-18 11:48
Quote: |
Originally posted by netbenton at 2009-1-18 12:30 AM:
@echo off&setlocal enabledelayedexpansion
set "str=%*"&set n=0&set s=!str!
:loop
set /a n=!n!+16
set "m=!s!fedcba9876543210"
set "s=!str:~%n%!"
if no ... |
|
兄弟,某些字符如汉字占两个字节
[
Last edited by s11ss on 2009-1-18 at 11:49 ]
作者: netbenton
时间: 2009-1-18 12:42
是哦,谢谢提醒,学习了
但是com程序只支持126个字节的参数
[
Last edited by netbenton on 2009-1-18 at 20:58 ]