A StringTools object provides several utility methods 
for encoding and decoding strings. For example, you can use a 
StringTools object to Base64-encode a chunk of data, or decode 
a UTF-8 encoded message header. 
You can obtain a StringTools object using the DOpusFactory.StringTools method.
| Method Name | Arguments | Return Type | Description | 
|---|---|---|---|
| Decode | <Blob:source> or <string:source> <string:format> | string or | Decodes an encoded string or data. You can provide either a Blob object or a string as the source to decode. Depending on the value of the format argument, either a string or a Blob is returned. If format is specified as "base64" the source will be Base64-decoded, and a Blob is returned. If format is specified as "quoted" the source will be Quoted-printable-decoded, and a Blob is returned. If format is specified as "auto" or not supplied, special handling is invoked to decode a MIME-encoded email subject (e.g. one beginning with =?), and a string is returned. If "auto" is specified it will also detect UTF-8 or UTF-16 encoded data if it has a BOM at the beginning. If format is specified as utf-8 the source will be converted from UTF-8 to a native string. Alternatively, if format is utf-16 or utf-16-le, the source will be converted from UTF-16 Little Endian to a native string. Or, if format is utf-16-be, the source will be converted from UTF-16 Big Endian to a native string. If decoding UTF-8 or UTF-16 (via "auto" or "utf-8", etc.), any byte-order-mark (BOM) will be skipped if one exists at the beginning of the input data. Otherwise, format must be set to a valid code-page name (e.g. "gb2312", "utf-8"), or a Windows code-page ID (e.g. 936, 65001). The source will be decoded using the specified code-page and a string is returned. | 
| Encode | <Blob:source> or <string:source> <string:format> | string or | Encodes a string or data. You can provide either a Blob object or a string as the source to decode. Depending on the value of the format argument, either a string or a Blob is returned. If format is specified as "base64" the source will be Base64-encoded, and a string is returned. If format is specified as "quoted" the source will be Quoted-printable-encoded, and a string is returned. If format is specified as "utf-8 bom", the output data is encoded as UTF-8 with a byte-order-mark (BOM) at the start. Use "utf-8" if you want UTF-8 without the BOM. If format is specified as "utf-16 bom" or "utf-16-le bom", the output data is encoded as UTF-16 Little Endian with a byte-order-mark (BOM) at the start. Use "utf-16" or "utf-16-le" if you do not want the BOM. If format is specified as "utf-16-be bom", the output data is encoded as UTF-16 Big Endian with a byte-order-mark (BOM) at the start. Use "utf-16-be" if you do not want the BOM. Otherwise, format must be set to a valid code-page name (e.g. 
      "gb2312", "utf-8" etc.), or a Windows 
      code-page ID (e.g. 936, 65001). The 
      source will be encoded using the specified code-page and a Blob is 
      returned. | 
| IsASCII | <string:input> | bool | Tests the input string to see if it only contains characters that can be represented in ASCII. If the result is false, the string is not safe to save into a text file unless you use a Unicode format such as UTF-8. This check is not affected by locales or codepages. Instead, it tests whether the string consists of only 7-bit ASCII characters, such that no characters will be lost of modified if you save the string to a text file and then load it back on any other computer. |