$StrXor: Difference between revisions
m (1 revision) |
mNo edit summary |
||
Line 2: | Line 2: | ||
<span class="pageSubtitle"><section begin="desc" />Bit-wise exclusive OR two strings<section end="desc" /></span> | <span class="pageSubtitle"><section begin="desc" />Bit-wise exclusive OR two strings<section end="desc" /></span> | ||
<p class="warning">Most Sirius $functions have been deprecated in favor of Object Oriented methods. | <p class="warning">Most Sirius $functions have been deprecated in favor of Object Oriented methods. There is no OO equivalent for the $StrXor function.</p> | ||
This function performs a bit-wise exclusive OR of two strings. | This function performs a bit-wise exclusive OR of two strings. | ||
Line 13: | Line 13: | ||
The third argument is another arbitrary string that is appended to the shorter of the first two strings and replicated as many times as required to make the strings of equal length. If this value is not specified or is null it defaults to a single null byte (X'00'). | The third argument is another arbitrary string that is appended to the shorter of the first two strings and replicated as many times as required to make the strings of equal length. If this value is not specified or is null it defaults to a single null byte (X'00'). | ||
==Syntax== | ==Syntax== | ||
<p class="syntax"><section begin="syntax" /> %STR = $StrXor(string1, string2, pad) | <p class="syntax"><section begin="syntax" /> %STR = $StrXor(string1, string2, pad) | ||
Line 19: | Line 20: | ||
</p> | </p> | ||
<p class="caption">%STR is the bit-wise exclusive OR of '''string1''' and '''string2'''.</p> | <p class="caption">%STR is the bit-wise exclusive OR of '''string1''' and '''string2'''.</p> | ||
For example | For example | ||
<p class="code"> %X = $X2C('112233445566') | <p class="code"> %X = $X2C('112233445566') | ||
%Y = $X2C('654321') | %Y = $X2C('654321') | ||
%JUNK = $StrXor(%X, %Y) | %JUNK = $StrXor(%X, %Y) | ||
</p> | </p> | ||
would set %JUNK to X'746112445566' and | would set %JUNK to X'746112445566' and | ||
<p class="code"> %X = $X2C('112233445566') | <p class="code"> %X = $X2C('112233445566') | ||
%JUNK = $StrXor(%X, , $X2C('CC')) | %JUNK = $StrXor(%X, , $X2C('CC')) | ||
</p> | </p> | ||
would set %JUNK to X'DDEEFF8899AA' and | would set %JUNK to X'DDEEFF8899AA' and | ||
<p class="code"> %X = $X2C('112233445566') | <p class="code"> %X = $X2C('112233445566') | ||
%Y = $X2C('1122') | %Y = $X2C('1122') | ||
Line 34: | Line 41: | ||
%JUNK = $StrXor(%X, %Y, %Z) | %JUNK = $StrXor(%X, %Y, %Z) | ||
</p> | </p> | ||
would set %JUNK to X'0000CC44AA66'. | would set %JUNK to X'0000CC44AA66'. | ||
$StrXor is only available in ''[[Sirius Mods]]'' Version 6.2 and later. | $StrXor is only available in ''[[Sirius Mods]]'' Version 6.2 and later. | ||
<ul class="smallAndTightList"> | <ul class="smallAndTightList"> | ||
<li>[[Sirius functions]]</li> | <li>[[Sirius functions]]</li> | ||
Line 46: | Line 55: | ||
<li>[[Japanese functions]]</li> | <li>[[Japanese functions]]</li> | ||
<li>[[Sir2000 Field Migration Facility]]</li> | <li>[[Sir2000 Field Migration Facility]]</li> | ||
</ul> | </ul> | ||
<p class="caption">Products authorizing $StrXor | <p class="caption">Products authorizing $StrXor | ||
</p> | </p> | ||
[[Category:$Functions|$StrXor]] | [[Category:$Functions|$StrXor]] |
Revision as of 20:12, 8 February 2011
<section begin="desc" />Bit-wise exclusive OR two strings<section end="desc" />
Most Sirius $functions have been deprecated in favor of Object Oriented methods. There is no OO equivalent for the $StrXor function.
This function performs a bit-wise exclusive OR of two strings.
The $StrXor function accepts three arguments and returns a string result that is the bit-wise exclusive OR of the first two arguments, the shorter being padded with as many copies of the third argument as are required to make the string lengths equal.
The first argument is an arbitrary string.
The second argument is another arbitrary string.
The third argument is another arbitrary string that is appended to the shorter of the first two strings and replicated as many times as required to make the strings of equal length. If this value is not specified or is null it defaults to a single null byte (X'00').
Syntax
<section begin="syntax" /> %STR = $StrXor(string1, string2, pad) <section end="syntax" />
For example
%X = $X2C('112233445566') %Y = $X2C('654321') %JUNK = $StrXor(%X, %Y)
would set %JUNK to X'746112445566' and
%X = $X2C('112233445566') %JUNK = $StrXor(%X, , $X2C('CC'))
would set %JUNK to X'DDEEFF8899AA' and
%X = $X2C('112233445566') %Y = $X2C('1122') %Z = $X2C('FF00') %JUNK = $StrXor(%X, %Y, %Z)
would set %JUNK to X'0000CC44AA66'.
$StrXor is only available in Sirius Mods Version 6.2 and later.