$bvar: Difference between revisions

From Scriptwiki
Jump to navigation Jump to search
mNo edit summary
 
m moved from commands -> text and number identifiers
 
(8 intermediate revisions by 2 users not shown)
Line 1: Line 1:
The $bvar identifier is used to read a [[:Category:Binary Files|binary file]]
The $bvar identifier is used to read a [[:Category:Binary Files|binary file]]
  <nowiki>$bvar(&binvar,N,M)</nowiki>
  <nowiki>$bvar(&binvar,N,M)</nowiki>
This returns ''M'' [[$asc|ascii]] values starting at byte ''N'' from &binvar. If ''N''+''M'' is larger then the size of &binvar, it will return ascii values starting at byte ''N'' to the last byte.
This returns ''M'' [[$asc|ascii]] values starting at byte ''N'' from &binvar. If ''N''+''M'' -1 is larger then the size of &binvar, it will return ascii values starting at byte ''N'' to the last byte.


You can use ''N'' = 0 to return the size of &binvar.
You can use ''N'' = 0 to return the size of &binvar.


Properties: text, word, nword, long, nlong
Properties: text, word, nword, long, nlong
$bvar(&binvar,N,M).text returns M ascii values, starting at N as plain text.
 
The word, nword, long, and nlong properties return values in host or network byte order.
 
== Examples ==
[[bset]] &test 1 65 66 67 68
[[echo]] -a $bvar(&test,2,3) returns ''66 67 68''
This returns 3 ascii values starting at the second byte.
 
bset &test 1 65 66 67 68
echo -a $bvar(&test,0) returns ''4''
This returns the size of &test, wich contains four ascii values.
 
bset &test 1 65 66 67 68
echo -a $bvar(&test,1,$bvar(&test,0)) returns ''65 66 67 68''
This always returns all values in &test. Another way of doing this is ''echo -a $bvar(&test,1-)'', however this is undocumented.
 
bset &test 1 65 66 0 67 68
echo -a $bvar(&test,1,4).text returns ''AB''
This returns the plain text of &test. Notice that it only returns text up to a zero value.
 
[[Category:Binary Files]]
[[Category:Text and Number Identifiers]]

Latest revision as of 11:40, 11 April 2007

The $bvar identifier is used to read a binary file

$bvar(&binvar,N,M)

This returns M ascii values starting at byte N from &binvar. If N+M -1 is larger then the size of &binvar, it will return ascii values starting at byte N to the last byte.

You can use N = 0 to return the size of &binvar.

Properties: text, word, nword, long, nlong

The word, nword, long, and nlong properties return values in host or network byte order.

Examples

bset &test 1 65 66 67 68
echo -a $bvar(&test,2,3) returns 66 67 68

This returns 3 ascii values starting at the second byte.

bset &test 1 65 66 67 68 
echo -a $bvar(&test,0) returns 4

This returns the size of &test, wich contains four ascii values.

bset &test 1 65 66 67 68 
echo -a $bvar(&test,1,$bvar(&test,0)) returns 65 66 67 68

This always returns all values in &test. Another way of doing this is echo -a $bvar(&test,1-), however this is undocumented.

bset &test 1 65 66 0 67 68 
echo -a $bvar(&test,1,4).text returns AB

This returns the plain text of &test. Notice that it only returns text up to a zero value.