Changes

Jump to navigation Jump to search
313 bytes removed ,  15:24, 24 September 2018
=Conventions=
All functions and errors in this module are assigned to the <code><nowiki>http://basex.org/modules/convert</nowiki></code> namespace, which is statically bound to the {{Code|convert}} prefix.<br/>All errors are assigned to the <code><nowiki>http://basex.org/errors</nowiki></code> namespace, which is statically bound to the {{Code|bxerr}} prefix.
=Strings=
|-
| '''Summary'''
|Converts the specifed binary data {{Code|$bytes}} ({{Code|xs:base64Binary}}, {{Code|xs:hexBinary}}) to a string:
* The UTF-8 default encoding can be overwritten with the optional {{Code|$encoding}} argument.
* By default, invalid characters will be rejected. If {{Code|$fallback}} is set to true, these characters will be replaced with the Unicode replacement character <code>FFFD</code> (&#xFFFD;).
|-
| '''Errors'''
|{{Error|BXCO0001string|#Errors}} The input is an invalid XML string, or the wrong encoding has been specified.<br/>{{Error|BXCO0002|#Errors}} The specified encoding is invalid or not supported.
|-
| '''Examples'''
|-
| width='120' | '''Signatures'''
|{{Func|convert:string-to-base64|$input string as xs:string|xs:base64Binary}}<br/>{{Func|convert:string-to-base64|$input string as xs:string, $encoding as xs:string|xs:base64Binary}}
|-
| '''Summary'''
|Converts the specified {{Code|$string }} to a an {{Code|xs:base64Binary}} item. If the default encoding is chosen, conversion will be cheap, as both {{Code|xs:string}} strings and {{Code|xs:base64Binary}} items binaries are both internally represented as byte arrays.<br/>The UTF-8 default encoding can be overwritten with the optional {{Code|$encoding}} argument.
|-
| '''Errors'''
|{{Error|BXCO0001binary|#Errors}} The input cannot be represented in the specified encoding.<br/>{{Error|BXCO0002encoding|#Errors}} The specified encoding is invalid or not supported.
|-
| '''Examples'''
|-
| width='120' | '''Signatures'''
|{{Func|convert:string-to-hex|$input string as xs:string|xs:hexBinary}}<br/>{{Func|convert:string-to-hex|$input string as xs:string, $encoding as xs:string|xs:hexBinary}}
|-
| '''Summary'''
|Converts the specified {{Code|$string }} to a an {{Code|xs:hexBinary}} item. If the default encoding is chosen, conversion will be cheap, as both {{Code|xs:string}} strings and {{Code|xs:hexBinary}} items binaries are both internally represented as byte arrays.<br/>The UTF-8 default encoding can be overwritten with the optional {{Code|$encoding}} argument.
|-
| '''Errors'''
|{{Error|BXCO0001binary|#Errors}} The input cannot be represented in the specified encoding.<br/>{{Error|BXCO0002encoding|#Errors}} The specified encoding is invalid or not supported.
|-
| '''Examples'''
=Binary Data=
==convert:bytesintegers-to-base64== {{Mark|Updated with Version 9.0}}: Argument type relaxed from {{Code|xs:byte}} to {{Code|xs:integer}}.
{| width='100%'
|-
| width='120' | '''Signatures'''
|{{Func|convert:bytesintegers-to-base64|$input integers as xs:integer*|xs:base64Binary}}
|-
| '''Summary'''
|Converts the specified integer sequence {{Code|$integers}} to a an item of type {{Code|xs:base64Binary}} item:* Only the first 8 bits of the supplied integer values integers will be considered.* Conversion of byte sequences is particularly cheap, as {{Code|xs:base64Binary}} items of binary type are internally represented as byte arrays.|-| '''Errors'''|{{Error|BXCO0001|#Errors}} The input cannot be represented in the specified encoding.<br/>{{Error|BXCO0002|#Errors}} The specified encoding is invalid or not supported.
|}
==convert:bytesintegers-to-hex== {{Mark|Updated with Version 9.0}}: Argument type relaxed from {{Code|xs:byte}} to {{Code|xs:integer}}.
{| width='100%'
|-
| width='120' | '''Signatures'''
|{{Func|convert:bytesintegers-to-hex|$input integers as xs:integer*|xs:hexBinary}}
|-
| '''Summary'''
|Converts the specified integer sequence {{Code|$integers}} to a an item of type {{Code|xs:hexBinary}} item:* Only the first 8 bits of the supplied integer values integers will be considered.* Conversion of byte sequences is particularly cheap, as {{Code|xs:hexBinary}} items of binary type are internally represented as byte arrays.
|}
==convert:binary-to-bytesintegers==
{| width='100%'
|-
| width='120' | '''Signatures'''
|{{Func|convert:binary-to-bytesintegers|$bin binary as xs:anyAtomicType|xs:byteinteger*}}
|-
| '''Summary'''
|Returns the specified {{Code|$binary data }} ({{Code|xs:base64Binary}}, {{Code|xs:hexBinary}}) as a sequence of bytesunsigned integers (octets).
|-
| '''Examples'''
|
* <code>convert:binary-to-bytesintegers(xs:base64BinaryhexBinary('QmFzZVggaXMgY29vbA==FF'))</code> yields the sequence {{Code|(66, 97, 115, 101, 88, 32, 105, 115, 32, 99, 111, 111, 108)}}.* {{Code|convert:binary-to-bytes(xs:hexBinary("4261736558"))}} yields the sequence {{Code|(66 97 115 101 88)255}}.
|}
==convert:binary-to-integerbytes== {{Mark|Introduced with Version 9.0}}:
{| width='100%'
|-
| width='120' | '''Signatures'''
|{{Func|convert:binary-to-integerbytes|$bin binary as xs:anyAtomicType|xs:integerbyte*}}
|-
| '''Summary'''
|Returns the specified {{Code|$binary data }} ({{Code|xs:base64Binary}}, {{Code|xs:hexBinary}}) as a sequence of unsigned integers (octets)bytes. The conversion is very cheap and takes no additional memory, as items of binary type are internally represented as byte arrays.
|-
| '''Examples'''
|
* <code>convert:binary-to-integerbytes(xs:hexBinarybase64Binary('FFQmFzZVggaXMgY29vbA=='))</code> yields the sequence {{Code|(66, 97, 115, 101, 88, 32, 105, 115, 32, 99, 111, 111, 108)}}.* {{Code|convert:binary-to-bytes(xs:hexBinary("4261736558"))}} yields the sequence {{Code|255(66 97 115 101 88)}}.
|}
|-
| width='120' | '''Signatures'''
|{{Func|convert:integer-to-base|$num number as xs:integer, $base as xs:integer|xs:string}}<br />
|-
| '''Summary'''
|Converts {{Code|$numnumber}} to base a string, using the specified {{Code|$base}}, interpreting it as a 64-bit unsigned integer.<br />The first {{Code|$base}} elements of the sequence {{Code|'0',..,'9','a',..,'z'}} are used as digits.<br />Valid bases are {{Code|2, .., 36}}.<br />
|-
| '''Errors'''
|{{Error|BXCO0004base|#Errors}} The specified base is not in the range 2-36.
|-
| '''Examples'''
|-
| width='120' | '''Signatures'''
|{{Func|convert:integer-from-base|$str string as xs:string, $base as xs:integer|xs:integer}}<br />
|-
| '''Summary'''
|Decodes an {{Code|xs:integer}} from {{Code|$strstring}}, assuming that it's encoded in base using the specified {{Code|$base}}.<br /> The first {{Code|$base}} elements of the sequence {{Code|'0',..,'9','a',..,'z'}} are allowed as digits, ; case doesn't does not matter. <br />Valid bases are 2 - 36.<br /> If {{Code|$str}} the supplied string contains more than 64 bits of information, the result is will be truncated arbitarily.
|-
| '''Errors'''
|{{Error|BXCO0004base|#Errors}} The specified base is not in the range 2-36.<br/>{{Error|BXCO0005integer|#Errors}} The specified digit is not valid for the given range.
|-
| '''Examples'''
|-
| width='120' | '''Signatures'''
|{{Func|convert:integer-to-dateTime|$ms milliseconds as xs:integer|xs:dateTime}}<br />
|-
| '''Summary'''
|Converts the specified number of {{Code|$milliseconds }} since 1 Jan 1970 to an item of type xs:dateTime.<br />
|-
| '''Examples'''
|-
| '''Summary'''
|Converts the specified {{Code|$dateTime}} item of type xs:dateTime to the number of milliseconds since 1 Jan 1970.<br />
|-
| '''Examples'''
|-
| width='120' | '''Signatures'''
|{{Func|convert:integer-to-dayTime|$ms milliseconds as xs:integer|xs:dayTimeDuration}}<br />
|-
| '''Summary'''
|Converts the specified number of {{Code|$milliseconds }} to an item of type xs:dayTimeDuration.<br />
|-
| '''Examples'''
|-
| '''Summary'''
|Converts the specified item of type xs:dayTimeDuration {{Code|$dayTime}} duration to milliseconds represented by an integer.<br />
|-
| '''Examples'''
| Description
|-
|{{Code|BXCO0001base}}|The input specified base is an invalid XML string, or not in the wrong encoding has been specifiedrange 2-36.
|-
|{{Code|BXCO0002binary}}|The specified encoding is invalid or not supportedinput cannot be converted to a binary representation.
|-
|{{Code|BXCO0003}}|The specified base is not in the range 2-36.|-|{{Code|BXCO0004encoding}}
|The specified encoding is invalid or not supported.
|-
|{{Code|BXCO0005integer}}
|The specified digit is not valid for the given range.
|-
|{{Code|string}}
|The input is an invalid XML string, or the wrong encoding has been specified.
|}
;Version 9.0
* Added: [[#convert:bytesbinary-to-integerintegers|convert:bytesbinary-to-integerintegers]].* Updated: [[#convert:bytesintegers-to-base64|convert:bytesintegers-to-base64]], [[#convert:bytesintegers-to-hex|convert:bytesintegers-to-hex]]: Argument Renamed from {{Code|convert:bytes-to-base64}}; argument type relaxed from {{Code|xs:byte}} to {{Code|xs:integer}}.* Updated: error codes updated; errors now use the module namespace
;Version 8.5
Bureaucrats, editor, reviewer, Administrators
13,550

edits

Navigation menu