Convert-Data Cmdlet
Parameters Output Objects Config Settings
The Convert-Data component is used to encode or decode data from one format to another.
Syntax
Convert-Data [parameters]
Remarks
The data to encode or decode is specified by Data. If decoding, the format to use is set in the From parameter and when encoding, the format to use is set in the To argument. If both are specified, the data will be decoded using the format specified in From and encoded to the format specified in To.
Example The cmdlets support pipeline input for some of their parameters. Prebuilding an object and piping it to the cmdlet is very useful, but should be used with caution to prevent security conflicts. Steps have been taken to decrease the risk of a possibly accidental pipe to the cmdlet, for instance, the Credential parameter cannot be piped to the cmdlet and must be specified manually.
# encoding
convert-data -data test -to base64
# decoding
convert-data -data dGVzdA== -from base64
Parameter List
The following is the full list of the parameters of the cmdlet with short descriptions. Click on the links for further details.
LogFile | The location of a file to which debug information is written. |
Charset | The character set of the data. |
Config | Specifies one or more configuration settings. |
Data | The data to encode or decode. |
DataB | The data to encode or decode. |
From | The format to decode Data with. |
LogFile | The location of a file to which debug information is written. |
To | The format to encode Data into. |
Output Objects
The following is the full list of the output objects returned by the cmdlet with short descriptions. Click on the links for further details.
ConvertedData | This object contains the converted data. |
Config Settings
The following is a list of config settings for the cmdlet with short descriptions. Click on the links for further details.
Base64LineBreak | Tells the component whether to include line breaks in Base64 encoded content or not. |
Charset | Specifies the charset used when encoding or decoding data. |
EncodeHash | Whether the hash value is hex encoded. |
HMACAlgorithm | The hash algorithm to use when generating a Hash-based Message Authentication Code (HMAC). |
HMACKey | A key to use when generating a Hash-based Message Authentication Code (HMAC). |
MaxFileSize | When encoding, controls whether encoded data should be split into several files and gives the maximum allowed size for these files. |
UseExtendedHexBase32 | Specifies whether or not the Extended Hex alphabet is used. |
UseModifiedUTF7 | Specifies whether or not a modified form of UTF-7 for IMAP mailbox naming is used. |
BuildInfo | Information about the product's build. |
CodePage | The system code page used for Unicode to Multibyte translations. |
LicenseInfo | Information about the current license. |
MaskSensitive | Whether sensitive data is masked in log messages. |
UseInternalSecurityAPI | Whether or not to use the system security libraries or an internal implementation. |
LogFile Parameter (Convert-Data Cmdlet)
The location of a file to which debug information is written.
Syntax
Convert-Data -LogFile string
Remarks
When specified, the cmdlet will log debug information to the file. If the file exists, the information will be appended.Default Value
null
Charset Property (Convert-Data Cmdlet)
The character set of the data.
Syntax
Convert-Data -Charset string
Remarks
Allows you to specify the character set of the data. By default, the parameter is an empty string ("") and will use the platform's current character set.
Default Value
""
Config Property (Convert-Data Cmdlet)
Specifies one or more configuration settings.
Syntax
Convert-Data -Config string[]
Remarks
The Config parameter takes one or more name-value pairs that represent the name of the configuration setting and value, i.e.: -config "Name=Value"
Default Value
null
Data Property (Convert-Data Cmdlet)
The data to encode or decode.
Syntax
Convert-Data -Data string
Remarks
Data contains the data you wish to be encoded or decoded. The format for decoding is set in From and the format for encoding is set in To.
Default Value
""
Parameter Position
0
DataB Property (Convert-Data Cmdlet)
The data to encode or decode.
Syntax
Convert-Data -DataB byte[]
Remarks
DataB contains the data you wish to be encoded or decoded. The format for decoding is set in From and the format for encoding is set in To.
Default Value
null
From Property (Convert-Data Cmdlet)
The format to decode Data with.
Syntax
Convert-Data -From string
Remarks
The following list contains all of the possible encoding types and their corresponding descriptions:
Plain | Plain text. |
UUEncode | 3 Bytes are encoded into 4 readable characters. |
BASE64 | Encoding format of MIME. Much like UUEncode but another subset of printable characters is used. |
QP | Another MIME format coding only special characters. Mostly used if the text contains special accented characters. |
URL | Encoding of non-printable, 8-bit or unsafe characters as defined in RFC 1738. |
JIS | Japanese Industrial Standards encoding of Japanese character sets. |
YEncode | Similar to Base64, but uses 8-bit encoding to reduce the amount of data being sent and received. Designed for binaries on the Usenet or Email. |
MD5 | The Message Digest 5 hashing algorithm produces a 128-bit hash output (Applicable only when -to is used). |
SHA1 | The Secure Hash Algorithm produces a 128-bit hash output (Applicable only when -to is used). |
HEX | Creates a hexadecimal string representation of the decoded data. |
SHA256 | The Secure Hash Algorithm produces a 256-bit hash output (Applicable only when -to is used) |
Default Value
99
LogFile Property (Convert-Data Cmdlet)
The location of a file to which debug information is written.
Syntax
Convert-Data -LogFile string
Remarks
When specified, the cmdlet will log debug information to the file. If the file exists, the information will be appended.
Default Value
""
To Property (Convert-Data Cmdlet)
The format to encode Data into.
Syntax
Convert-Data -To string
Remarks
The following list contains all of the possible encoding types and their corresponding descriptions:
Plain | Plain text. |
UUEncode | 3 Bytes are encoded into 4 readable characters. |
BASE64 | Encoding format of MIME. Much like UUEncode but another subset of printable characters is used. |
QP | Another MIME format coding only special characters. Mostly used if the text contains special accented characters. |
URL | Encoding of non-printable, 8-bit or unsafe characters as defined in RFC 1738. |
JIS | Japanese Industrial Standards encoding of Japanese character sets. |
YEncode | Similar to Base64, but uses 8-bit encoding to reduce the amount of data being sent and received. Designed for binaries on the Usenet or Email. |
MD5 | The Message Digest 5 hashing algorithm produces a 128-bit hash output (Applicable only when -to is used). |
SHA1 | The Secure Hash Algorithm produces a 128-bit hash output (Applicable only when -to is used). |
HEX | Creates a hexadecimal string representation of the decoded data. |
SHA256 | The Secure Hash Algorithm produces a 256-bit hash output (Applicable only when -to is used) |
Default Value
99
ConvertedData Output Object (Convert-Data Cmdlet)
This object contains the converted data.
Syntax
Object ConvertedData {string Data;
int Size;
string Format;
byte[] DataB;
}
Remarks
After encoding or decoding the Data, the results are returned in a ConvertedData object. The converted data is returned in Data, and the length of that data is returned as Size. The Format indicates the encoding format of the resulting Data.
The following list contains all of the possible encoding types and their corresponding descriptions:
Plain | Plain text. |
UUEncode | 3 Bytes are encoded into 4 readable characters. |
BASE64 | Encoding format of MIME. Much like UUEncode but another subset of printable characters is used. |
QP | Another MIME format coding only special characters. Mostly used if the text contains special accented characters. |
URL | Encoding of non-printable, 8-bit or unsafe characters as defined in RFC 1738. |
JIS | Japanese Industrial Standards encoding of Japanese character sets. |
YEncode | Similar to Base64, but uses 8-bit encoding to reduce the amount of data being sent and received. Designed for binaries on the Usenet or Email. |
MD5 | The Message Digest 5 hashing algorithm produces a 128-bit hash output (Applicable only when -to is used). |
SHA1 | The Secure Hash Algorithm produces a 128-bit hash output (Applicable only when -to is used). |
HEX | Creates a hexadecimal string representation of the decoded data. |
SHA256 | The Secure Hash Algorithm produces a 256-bit hash output (Applicable only when -to is used) |
Config Settings (Convert-Data Cmdlet)
The cmdlet accepts one or more of the following configuration settings. Configuration settings are similar in functionality to properties, but they are rarely used. In order to avoid "polluting" the property namespace of the cmdlet, access to these internal properties is provided through the Config method.NetCode Config Settings
By default, when encoding to Base64 format, the component will insert line breaks every 76 characters. Setting the Base64LineBreak configuration setting to False will cause these line breaks to be omitted from the Base64 encoded content. The default value is True.
This configuration setting sets the value to specify the charset that is used when encoding data. For instance, UTF-8.
This setting determines whether the MD5, SHA1, or SHA256 hash value is hex encoded. When calling Encode, if this setting is True (default), the hash value created will be hex encoded. When set to False, the output will not be hex encoded and will be binary. This is applicable only to the following formats:
- MD5
- SHA1
- SHA256
HMACAlgorithm is used to tell the cmdlet which hashing algorithm to use to generate the Hash-based Message Authentication Code (HMAC). HMACAlgorithm can be "SHA1" (Secure Hash Algorithm 1), "MD5" (Message Digest 5), or one of the SHA-2 algorithms mentioned next. You may truncate the hash output by specifying the desired number of bits. For instance, "SHA1-96" and "MD5-96" are acceptable.
The component is capable of utilizing the set of HMAC SHA-2 algorithms ("SHA-224", "SHA-256", "SHA-384", and "SHA-512").
The component also supports "RIPEMD160" as an HMAC algorithm.
When using the Format fmtHMAC, it may be necessary to supply the cmdlet with a key to use when generating the Hash-based Message Authentication Code (HMAC). This key is incorporated into the hashing process to add entropy to the resulting hash code, making the plaintext harder to guess and increasing the message security. You may also set this to a hex value. For instance, 0xAAAAAA is acceptable.
Some mailing systems require that the message size should not exceed a certain size. Assigning a nonzero value to MaxFileSize makes the cmdlet split the encoded data into several files. FileCnt will contain the number of files created. Please refer to EncodedFile for filename conventions.
The default value for this setting is 0 (no limit).
Note: If a non-zero value is assigned to MaxFileSize, then a multiple filename should also be assigned to EncodedFile (end with question marks "?") so that the cmdlet can expand the filenames.
Please refer to the Error Codes section for a complete list of possible errors.
When Format is set to fmtBase32, UseExtendedHexBase32 is used to tell the cmdlet whether or not to use the extended hex alphabet. The default value is False.
When Format is set to fmtUTF7, UseModifiedUTF7 is used to tell the cmdlet whether or not to use a modified version of UTF-7 for IMAP mailbox naming. The default value is False.
Base Config Settings
When queried, this setting will return a string containing information about the product's build.
The default code page is Unicode UTF-8 (65001).
The following is a list of valid code page identifiers:
Identifier | Name |
037 | IBM EBCDIC - U.S./Canada |
437 | OEM - United States |
500 | IBM EBCDIC - International |
708 | Arabic - ASMO 708 |
709 | Arabic - ASMO 449+, BCON V4 |
710 | Arabic - Transparent Arabic |
720 | Arabic - Transparent ASMO |
737 | OEM - Greek (formerly 437G) |
775 | OEM - Baltic |
850 | OEM - Multilingual Latin I |
852 | OEM - Latin II |
855 | OEM - Cyrillic (primarily Russian) |
857 | OEM - Turkish |
858 | OEM - Multilingual Latin I + Euro symbol |
860 | OEM - Portuguese |
861 | OEM - Icelandic |
862 | OEM - Hebrew |
863 | OEM - Canadian-French |
864 | OEM - Arabic |
865 | OEM - Nordic |
866 | OEM - Russian |
869 | OEM - Modern Greek |
870 | IBM EBCDIC - Multilingual/ROECE (Latin-2) |
874 | ANSI/OEM - Thai (same as 28605, ISO 8859-15) |
875 | IBM EBCDIC - Modern Greek |
932 | ANSI/OEM - Japanese, Shift-JIS |
936 | ANSI/OEM - Simplified Chinese (PRC, Singapore) |
949 | ANSI/OEM - Korean (Unified Hangul Code) |
950 | ANSI/OEM - Traditional Chinese (Taiwan; Hong Kong SAR, PRC) |
1026 | IBM EBCDIC - Turkish (Latin-5) |
1047 | IBM EBCDIC - Latin 1/Open System |
1140 | IBM EBCDIC - U.S./Canada (037 + Euro symbol) |
1141 | IBM EBCDIC - Germany (20273 + Euro symbol) |
1142 | IBM EBCDIC - Denmark/Norway (20277 + Euro symbol) |
1143 | IBM EBCDIC - Finland/Sweden (20278 + Euro symbol) |
1144 | IBM EBCDIC - Italy (20280 + Euro symbol) |
1145 | IBM EBCDIC - Latin America/Spain (20284 + Euro symbol) |
1146 | IBM EBCDIC - United Kingdom (20285 + Euro symbol) |
1147 | IBM EBCDIC - France (20297 + Euro symbol) |
1148 | IBM EBCDIC - International (500 + Euro symbol) |
1149 | IBM EBCDIC - Icelandic (20871 + Euro symbol) |
1200 | Unicode UCS-2 Little-Endian (BMP of ISO 10646) |
1201 | Unicode UCS-2 Big-Endian |
1250 | ANSI - Central European |
1251 | ANSI - Cyrillic |
1252 | ANSI - Latin I |
1253 | ANSI - Greek |
1254 | ANSI - Turkish |
1255 | ANSI - Hebrew |
1256 | ANSI - Arabic |
1257 | ANSI - Baltic |
1258 | ANSI/OEM - Vietnamese |
1361 | Korean (Johab) |
10000 | MAC - Roman |
10001 | MAC - Japanese |
10002 | MAC - Traditional Chinese (Big5) |
10003 | MAC - Korean |
10004 | MAC - Arabic |
10005 | MAC - Hebrew |
10006 | MAC - Greek I |
10007 | MAC - Cyrillic |
10008 | MAC - Simplified Chinese (GB 2312) |
10010 | MAC - Romania |
10017 | MAC - Ukraine |
10021 | MAC - Thai |
10029 | MAC - Latin II |
10079 | MAC - Icelandic |
10081 | MAC - Turkish |
10082 | MAC - Croatia |
12000 | Unicode UCS-4 Little-Endian |
12001 | Unicode UCS-4 Big-Endian |
20000 | CNS - Taiwan |
20001 | TCA - Taiwan |
20002 | Eten - Taiwan |
20003 | IBM5550 - Taiwan |
20004 | TeleText - Taiwan |
20005 | Wang - Taiwan |
20105 | IA5 IRV International Alphabet No. 5 (7-bit) |
20106 | IA5 German (7-bit) |
20107 | IA5 Swedish (7-bit) |
20108 | IA5 Norwegian (7-bit) |
20127 | US-ASCII (7-bit) |
20261 | T.61 |
20269 | ISO 6937 Non-Spacing Accent |
20273 | IBM EBCDIC - Germany |
20277 | IBM EBCDIC - Denmark/Norway |
20278 | IBM EBCDIC - Finland/Sweden |
20280 | IBM EBCDIC - Italy |
20284 | IBM EBCDIC - Latin America/Spain |
20285 | IBM EBCDIC - United Kingdom |
20290 | IBM EBCDIC - Japanese Katakana Extended |
20297 | IBM EBCDIC - France |
20420 | IBM EBCDIC - Arabic |
20423 | IBM EBCDIC - Greek |
20424 | IBM EBCDIC - Hebrew |
20833 | IBM EBCDIC - Korean Extended |
20838 | IBM EBCDIC - Thai |
20866 | Russian - KOI8-R |
20871 | IBM EBCDIC - Icelandic |
20880 | IBM EBCDIC - Cyrillic (Russian) |
20905 | IBM EBCDIC - Turkish |
20924 | IBM EBCDIC - Latin-1/Open System (1047 + Euro symbol) |
20932 | JIS X 0208-1990 & 0121-1990 |
20936 | Simplified Chinese (GB2312) |
21025 | IBM EBCDIC - Cyrillic (Serbian, Bulgarian) |
21027 | Extended Alpha Lowercase |
21866 | Ukrainian (KOI8-U) |
28591 | ISO 8859-1 Latin I |
28592 | ISO 8859-2 Central Europe |
28593 | ISO 8859-3 Latin 3 |
28594 | ISO 8859-4 Baltic |
28595 | ISO 8859-5 Cyrillic |
28596 | ISO 8859-6 Arabic |
28597 | ISO 8859-7 Greek |
28598 | ISO 8859-8 Hebrew |
28599 | ISO 8859-9 Latin 5 |
28605 | ISO 8859-15 Latin 9 |
29001 | Europa 3 |
38598 | ISO 8859-8 Hebrew |
50220 | ISO 2022 Japanese with no halfwidth Katakana |
50221 | ISO 2022 Japanese with halfwidth Katakana |
50222 | ISO 2022 Japanese JIS X 0201-1989 |
50225 | ISO 2022 Korean |
50227 | ISO 2022 Simplified Chinese |
50229 | ISO 2022 Traditional Chinese |
50930 | Japanese (Katakana) Extended |
50931 | US/Canada and Japanese |
50933 | Korean Extended and Korean |
50935 | Simplified Chinese Extended and Simplified Chinese |
50936 | Simplified Chinese |
50937 | US/Canada and Traditional Chinese |
50939 | Japanese (Latin) Extended and Japanese |
51932 | EUC - Japanese |
51936 | EUC - Simplified Chinese |
51949 | EUC - Korean |
51950 | EUC - Traditional Chinese |
52936 | HZ-GB2312 Simplified Chinese |
54936 | Windows XP: GB18030 Simplified Chinese (4 Byte) |
57002 | ISCII Devanagari |
57003 | ISCII Bengali |
57004 | ISCII Tamil |
57005 | ISCII Telugu |
57006 | ISCII Assamese |
57007 | ISCII Oriya |
57008 | ISCII Kannada |
57009 | ISCII Malayalam |
57010 | ISCII Gujarati |
57011 | ISCII Punjabi |
65000 | Unicode UTF-7 |
65001 | Unicode UTF-8 |
Identifier | Name |
1 | ASCII |
2 | NEXTSTEP |
3 | JapaneseEUC |
4 | UTF8 |
5 | ISOLatin1 |
6 | Symbol |
7 | NonLossyASCII |
8 | ShiftJIS |
9 | ISOLatin2 |
10 | Unicode |
11 | WindowsCP1251 |
12 | WindowsCP1252 |
13 | WindowsCP1253 |
14 | WindowsCP1254 |
15 | WindowsCP1250 |
21 | ISO2022JP |
30 | MacOSRoman |
10 | UTF16String |
0x90000100 | UTF16BigEndian |
0x94000100 | UTF16LittleEndian |
0x8c000100 | UTF32String |
0x98000100 | UTF32BigEndian |
0x9c000100 | UTF32LittleEndian |
65536 | Proprietary |
When queried, this setting will return a string containing information about the license this instance of a cmdlet is using. It will return the following information:
- Product: The product the license is for.
- Product Key: The key the license was generated from.
- License Source: Where the license was found (e.g., RuntimeLicense, License File).
- License Type: The type of license installed (e.g., Royalty Free, Single Server).
- Last Valid Build: The last valid build number for which the license will work.
In certain circumstances it may be beneficial to mask sensitive data, like passwords, in log messages. Set this to true to mask sensitive data. The default is true.
This setting only works on these cmdlets: AS3Receiver, AS3Sender, Atom, Client(3DS), FTP, FTPServer, IMAP, OFTPClient, SSHClient, SCP, Server(3DS), Sexec, SFTP, SFTPServer, SSHServer, TCPClient, TCPServer.
When set to false, the cmdlet will use the system security libraries by default to perform cryptographic functions where applicable. In this case, calls to unmanaged code will be made. In certain environments, this is not desirable. To use a completely managed security implementation, set this setting to true.
Setting this configuration setting to true tells the cmdlet to use the internal implementation instead of using the system security libraries.
On Windows, this setting is set to false by default. On Linux/macOS, this setting is set to true by default.
If using the .NET Standard Library, this setting will be true on all platforms. The .NET Standard library does not support using the system security libraries.
Note: This setting is static. The value set is applicable to all cmdlets used in the application.
When this value is set, the product's system dynamic link library (DLL) is no longer required as a reference, as all unmanaged code is stored in that file.