Unofficial LSL Reference

[[functions:llbase64tointeger]]


Unofficial LSL reference

User Tools

Login

You are currently not logged in! Enter your authentication credentials below to log in. You need to have cookies enabled to log in.

Login

Forgotten your password? Get a new one: Set new password

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

functions:llbase64tointeger [2015-01-19 17:41 SLT]
sei created
functions:llbase64tointeger [2016-12-12 14:59 SLT] (current)
sei Hyphen in "non-zero".
Line 6: Line 6:
 </​code>​ </​code>​
  
-Converts a string containing an integer in Base-64 ​representation to integer. ​Base-64 ​is a fairly compact way to store any arbitrary 32-bit integer in a string, especially if the numbers can usually be big.+Converts a string containing an integer in $lart[Base64] ​representation to integer. ​$art[Base64] ​is a fairly compact way to store any arbitrary 32-bit integer in a string, especially if the numbers can usually be big.
  
 ===== Parameters ===== ===== Parameters =====
  
 === base64str === === base64str ===
-A [[types/string]] expressed in Base-64 ​that represents the four bytes of a 32-bit integer.+$lty[string] expressed in $lart[Base64] ​that represents the four bytes of a 32-bit integer.
  
 ===== Return value ===== ===== Return value =====
  
-The [[types/integer]] that the string represents, or zero if the string ​length ​is more than 8 characters.+The $lty[integer] that the string represents, or zero if the string is more than 8 characters ​long.
  
 ===== Notes ===== ===== Notes =====
  
   * Strings with more than 8 characters cause the output to be 0.   * Strings with more than 8 characters cause the output to be 0.
-  * Padding is ignored; parsing proceeds until the first non-Base64 character is found. +  * Padding is ignored; parsing proceeds until the first non-$art[Base64character is found. 
-  * The implementation converts from Base-64 ​to a string of bytes, and appends a null byte at the end. If the result has less than four bytes, garbage bytes from whatever the server'​s memory had at that time will result. +  * The implementation converts from $art[Base64] ​to a string of bytes, and appends a null byte at the end. If the result has less than four bytes, garbage bytes will result. 
-  * The bytes in the binary form of the base-64 ​string are always interpreted in big endian order (most-significant byte first). ​Trailing ​bits in the last Base64 digit are accepted and ignored. Incomplete bytes are not output, e.g. a string with one single character acts as an empty string.+  * The bytes in the binary form of the $art[Base64] ​string are always interpreted in big endian order (most-significant byte first). ​Extra non-zero trailing ​bits in the last $art[Base64digit are accepted and ignored. Incomplete bytes are not output, e.g. a string with one single character acts as an empty string.
  
 ===== Short examples ===== ===== Short examples =====
Line 28: Line 28:
 <code lsl2> <code lsl2>
 integer i; integer i;
 +
 i = llBase64ToInteger("​ABCDEF=="​);​ // sets i to 1082128 i = llBase64ToInteger("​ABCDEF=="​);​ // sets i to 1082128
 // (A = 000000, B = 000001, C = 000010, ... so the binary // (A = 000000, B = 000001, C = 000010, ... so the binary
Line 33: Line 34:
 // in decimal is 1082128; note some bits of the binary // in decimal is 1082128; note some bits of the binary
 // representation of F are truncated) // representation of F are truncated)
 +
 +i = llBase64ToInteger("​ABCDEF"​);​ // same as above
 +
 +i = llBase64ToInteger("​ABCDEA"​);​ // same as above
  
 i = llBase64ToInteger(""​);​ // sets i to some number between 0 and 16777215 i = llBase64ToInteger(""​);​ // sets i to some number between 0 and 16777215
-// (the appended 0 goes to the most significant byte and the rest are filled with garbage)+// (the appended 0 goes to the most significant byte 
 +// and the rest are filled with garbage)
 </​code>​ </​code>​
  
 ===== See also ===== ===== See also =====
  
-  * [[llIntegerToBase64]] for the function that converts ​an integer ​to the Base 64 format that this function ​expects+  * $lfn[llIntegerToBase64] ​encodes ​an integer ​in the $lart[Base64] ​format that this function ​decodes
-  * [[llBase64ToString]] and [[llStringToBase64]] to convert to/from string instead of integer. +  * $lfn[llBase64ToString] and $lfn[llStringToBase64] convert to/​from ​a UTF-8 encoded ​string instead of integer. 
-  * [[llXorBase64]] to calculate ​the XOR of the bytes that a Base 64 string represents, byte by byte.+  * $lfn[llXorBase64] ​calculates ​the bitwise ​XOR of corresponding ​bytes represented by two $art[Base64] strings, byte by byte.