mirror of
https://github.com/gchq/CyberChef.git
synced 2025-04-24 16:56:15 -04:00
Split "Text encoding" op into two ops
This commit splits "Text encoding" into two operations: + Encode text `string -> byteArray` + Decode text `byteArray -> string` Base64 and Hex support are removed "Encode text" and "Decode text" as they have their own operations. Encode and decode operations now have support for the following encodings: + IBM EBCDIC US-Canada + IBM EBCDIC International + Windows-874 Thai + Japanese Shift-JIS + Simplified Chinese GBK + Korean + Traditional Chinese Big5 + UTF-16, little endian + UTF-16, big endian + Windows-1250 Central European + Windows-1251 Cyrillic + Windows-1252 Latin + Windows-1253 Greek + Windows-1254 Turkish + Windows-1255 Hebrew + Windows-1256 Arabic + Windows-1257 Baltic + Windows-1258 Vietnam + US-ASCII + Russian Cyrillic KOI8-R + Simplified Chinese GB2312 + KOI8-U Ukrainian Cyrillic + ISO-8859-1 Latin 1 (Western European) + ISO-8859-2 Latin 2 (Central European) + ISO-8859-3 Latin 3 + ISO-8859-4 Baltic + ISO-8859-5 Cyrillic + ISO-8859-6 Arabic + ISO-8859-7 Greek + ISO-8859-8 Hebrew + ISO-8859-9 Turkish + ISO-8859-10 Latin 6 + ISO-8859-11 Latin (Thai) + ISO-8859-13 Latin 7 (Estonian) + ISO-8859-14 Latin 8 (Celtic) + ISO-8859-15 Latin 9 + ISO-8859-16 Latin 10 + ISO-2022 JIS Japanese + EUC Japanese + EUC Korean + Simplified Chinese GB18030 + UTF-7 + UTF-8
This commit is contained in:
parent
3c15bd9e29
commit
2b7ba594fc
5 changed files with 2119 additions and 121 deletions
|
@ -61,7 +61,8 @@ const Categories = [
|
|||
"Hex to PEM",
|
||||
"Parse ASN.1 hex string",
|
||||
"Change IP format",
|
||||
"Text encoding",
|
||||
"Encode text",
|
||||
"Decode text",
|
||||
"Swap endianness",
|
||||
]
|
||||
},
|
||||
|
@ -143,7 +144,8 @@ const Categories = [
|
|||
{
|
||||
name: "Language",
|
||||
ops: [
|
||||
"Text encoding",
|
||||
"Encode text",
|
||||
"Decode text",
|
||||
"Unescape Unicode Characters",
|
||||
]
|
||||
},
|
||||
|
|
|
@ -872,21 +872,43 @@ const OperationConfig = {
|
|||
}
|
||||
]
|
||||
},
|
||||
"Text encoding": {
|
||||
description: "Translates the data between different character encodings.<br><br>Supported charsets are:<ul><li>UTF8</li><li>UTF16</li><li>UTF16LE (little-endian)</li><li>UTF16BE (big-endian)</li><li>Hex</li><li>Base64</li><li>Latin1 (ISO-8859-1)</li><li>Windows-1251</li></ul>",
|
||||
run: CharEnc.run,
|
||||
"Encode text": {
|
||||
description: [
|
||||
"Encodes text into the chosen character encoding.",
|
||||
"<br><br>",
|
||||
"Supported charsets are:",
|
||||
"<ul>",
|
||||
Object.keys(CharEnc.IO_FORMAT).map(e => `<li>${e}</li>`).join("<br>"),
|
||||
"</ul>",
|
||||
].join("\n"),
|
||||
run: CharEnc.runEncode,
|
||||
inputType: "string",
|
||||
outputType: "byteArray",
|
||||
args: [
|
||||
{
|
||||
name: "Encoding",
|
||||
type: "option",
|
||||
value: Object.keys(CharEnc.IO_FORMAT),
|
||||
},
|
||||
]
|
||||
},
|
||||
"Decode text": {
|
||||
description: [
|
||||
"Decodes text from the chosen character encoding.",
|
||||
"<br><br>",
|
||||
"Supported charsets are:",
|
||||
"<ul>",
|
||||
Object.keys(CharEnc.IO_FORMAT).map(e => `<li>${e}</li>`).join("<br>"),
|
||||
"</ul>",
|
||||
].join("\n"),
|
||||
run: CharEnc.runDecode,
|
||||
inputType: "byteArray",
|
||||
outputType: "string",
|
||||
args: [
|
||||
{
|
||||
name: "Input type",
|
||||
name: "Encoding",
|
||||
type: "option",
|
||||
value: CharEnc.IO_FORMAT
|
||||
},
|
||||
{
|
||||
name: "Output type",
|
||||
type: "option",
|
||||
value: CharEnc.IO_FORMAT
|
||||
value: Object.keys(CharEnc.IO_FORMAT),
|
||||
},
|
||||
]
|
||||
},
|
||||
|
@ -3249,44 +3271,6 @@ const OperationConfig = {
|
|||
},
|
||||
]
|
||||
},
|
||||
"To EBCDIC": {
|
||||
description: [
|
||||
"This operation converts ASCII text to EBCDIC.",
|
||||
"<br>",
|
||||
"You can choose between a few versions of EBCDIC.",
|
||||
"<br>",
|
||||
"EBCDIC is a proprietary encoding pre-dating ASCII that originated at IBM.",
|
||||
].join("\n"),
|
||||
run: CharEnc.runToEBCDIC,
|
||||
inputType: "string",
|
||||
outputType: "byteArray",
|
||||
args: [
|
||||
{
|
||||
name: "EBCDIC version",
|
||||
type: "option",
|
||||
value: Object.keys(CharEnc.EBCDIC_CODEPAGES_MAPPING),
|
||||
},
|
||||
]
|
||||
},
|
||||
"From EBCDIC": {
|
||||
description: [
|
||||
"This operation converts ASCII text from EBCDIC.",
|
||||
"<br>",
|
||||
"You can choose between a few versions of EBCDIC.",
|
||||
"<br>",
|
||||
"EBCDIC is a proprietary encoding pre-dating ASCII that originated at IBM.",
|
||||
].join("\n"),
|
||||
run: CharEnc.runFromEBCDIC,
|
||||
inputType: "byteArray",
|
||||
outputType: "string",
|
||||
args: [
|
||||
{
|
||||
name: "EBCDIC version",
|
||||
type: "option",
|
||||
value: Object.keys(CharEnc.EBCDIC_CODEPAGES_MAPPING),
|
||||
},
|
||||
]
|
||||
},
|
||||
};
|
||||
|
||||
export default OperationConfig;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue