Skip to content

Commit bfdeb16

Browse files
authored
Merge pull request #1 from IrtsaDevelopment/experimental
Experimental -> Main
2 parents 6fff8d9 + 55d06b5 commit bfdeb16

File tree

3 files changed

+218
-21
lines changed

3 files changed

+218
-21
lines changed

PyZeroWidth/decode.py

Lines changed: 109 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,119 @@
77

88
#Global Variables
99
ZWCharacterSelections = [
10-
['utf8','utf-8','u8','utf', 'cp65001'],
11-
['ascii','us-ascii','646'],
12-
['latin', 'latin1', 'latin_1', 'iso-8859-1', 'iso8859-1', '8859', 'cp819']
10+
[
11+
'utf_7', 'u7', 'unicode-1-1-utf-7'
12+
'utf8','utf-8','u8','utf', 'cp65001',
13+
'utf16', 'utf_16', 'u16'
14+
'utf_16_be', 'utf-16be',
15+
'utf_16_le', 'utf-16le',
16+
'utf32', 'utf_32', 'u32',
17+
'utf_32_be', 'utf-32be',
18+
'utf_32_le', 'utf-32le'
19+
],
20+
21+
[
22+
'ascii','us-ascii','646'
23+
],
24+
25+
[
26+
'latin', 'latin1', 'latin_1', 'iso-8859-1', 'iso8859-1', '8859', 'cp819',
27+
'latin2', 'iso8859_2', 'iso-8859-2', 'l2',
28+
'latin3', 'iso8859_3', 'iso-8859-3', 'l3',
29+
'latin4', 'iso8859_4', 'iso-8859-4', 'l4',
30+
'latin5', 'iso8859_9', 'iso8859-9', 'l5',
31+
'latin6', 'iso8859_10', 'iso8859-10', 'l6'
32+
'latin7', 'iso8859_13', 'iso8859-13', 'l7',
33+
'latin8', 'iso8859_14', 'iso8859-14', 'l8',
34+
'latin9', 'iso8859_15', 'iso8859-15', 'l9',
35+
'latin10', 'iso8859_16', 'iso8859-16', 'l10'
36+
'cyrillic', 'iso8859_5', 'iso8859-5',
37+
'arabic', 'iso8859_6', 'iso8859-6',
38+
'greek', 'greek8', 'iso8859_7', 'iso8859-7',
39+
'hebrew', 'iso8859_8', 'iso8859-8',
40+
'thai', 'iso8859_11', 'iso8859-11'
41+
],
42+
43+
[
44+
'big5', 'big5-tw', 'csbig5', 'big5hkscs', 'big5-hkscs', 'hkscs',
45+
'cp037', 'ibm037', 'ibm039',
46+
'cp273', '273', 'ibm273', 'csibm273',
47+
'cp424', 'ebcdic-cp-he', 'ibm424',
48+
'cp437', '437', 'ibm437',
49+
'cp500', 'ebcdic-cp-be', 'ebcdic-cp-ch', 'ibm500',
50+
'cp720',
51+
'cp737',
52+
'cp775', 'ibm775',
53+
'cp850', '850', 'ibm855',
54+
'cp852', '852', 'ibm852',
55+
'cp855', '855', 'ibm855',
56+
'cp856',
57+
'cp857', '857', 'ibm857',
58+
'cp858', '858', 'ibm858',
59+
'cp860', '860', 'ibm860',
60+
'cp861', '861', 'ibm861', 'cp-is',
61+
'cp862', '862', 'ibm862',
62+
'cp863', '863', 'ibm863',
63+
'cp864', 'ibm863',
64+
'cp865', '865', 'ibm865',
65+
'cp866', '866', 'ibm866',
66+
'cp869', '869', 'ibm869', 'cp-gr',
67+
'cp874',
68+
'cp875',
69+
'cp932', '932', 'ms932', 'mskanji', 'ms-kanji',
70+
'cp949', '949', 'ms949', 'uhc',
71+
'cp950', '950',
72+
'cp1006',
73+
'cp1026', 'ibm1026',
74+
'cp1125', '1125', 'ibm1125', 'cp866u', 'ruscii',
75+
'cp1140', 'ibm1140',
76+
'cp1250', 'windows-1250',
77+
'cp1251', 'windows-1251',
78+
'cp1252', 'windows-1252',
79+
'cp1253', 'windows-1253',
80+
'cp1254', 'windows-1254',
81+
'cp1255', 'windows-1255',
82+
'cp1256', 'windows-1256',
83+
'cp1257', 'windows-1257',
84+
'cp1258', 'windows-1258',
85+
'euc_jp', 'eucjp', 'ujis', 'u-jis',
86+
'euc_jis_2004', 'jsix0213', 'eucjis2004',
87+
'euc_jisx0213', 'eucjisx0213',
88+
'korean', 'euc_kr', 'euckr', 'ksc5601', 'ks_c-5601', 'ks_c-5601-1987', 'ksx1001', 'ksx1001', 'ks_x-1001',
89+
'chinese', 'gb2312', 'csiso58gb231280', 'euc-cn', 'euccn', 'eucgb2312-cn', 'gb2312-1980', 'gb2312-80', 'iso-ir-58',
90+
'cp936', '936', 'gbk', 'ms936',
91+
'gb18030', 'gb18030-2000',
92+
'hz', 'hzgb', 'hz-gb', 'hz-gb-2312',
93+
'iso2022_jp', 'csiso2022jp', 'iso2022jp', 'iso-2022-jp',
94+
'iso2022_jp_1', 'iso2022jp-1', 'iso-2022-jp-1',
95+
'iso2022_jp_2', 'iso2022jp-2', 'iso-2022-jp-2',
96+
'iso2022_jp_3', 'iso2022jp-3', 'iso-2022-jp-3',
97+
'iso2022_jp_2004', 'iso2022jp-2004', 'iso-2022-jp-2004',
98+
'iso2022_jp_ext', 'iso2022jp-etx', 'iso-2022-jp-ext',
99+
'iso2022_kr', 'csiso2022kr', 'so2022kr', 'iso-2022-kr',
100+
'johab', 'cp1361', 'ms1361',
101+
'koi8_r',
102+
'koi8_t',
103+
'koi8_u',
104+
'kz1048', 'kz_1048', 'strk1048_2002', 'rk1048',
105+
'mac_cyrillic', 'maccyrillic',
106+
'mac_greek', 'macgreek',
107+
'mac_iceland', 'maciceland',
108+
'mac_latin2', 'maclatin2', 'maccentraleurope', 'mac_centeuro',
109+
'mac_roman', 'macroman', 'macintosh',
110+
'mac_turkish', 'macturkish',
111+
'ptcp154', 'csptcp154', 'pt154', 'cp154', 'cyrillic-asian',
112+
'shift_jis', 'csshiftjis', 'shiftjis', 'sjis', 's_jis',
113+
'shift_jis_2004', 'shiftjis2004', 'sjis_2004', 'sjis2004',
114+
'shift_jisx0213', 'shiftjsix0213', 'sjisx0213', 's_jisx0213'
115+
]
13116
]
14117

15118
ZWCharacters = [
16119
['\u200c','\u200d','\u2060','\ufeff'],
17120
['\x00', '\x07', '\x08', '\x09'],
18-
['\x80', '\x81', '\x82', '\x83']
121+
['\x80', '\x81', '\x82', '\x83'],
122+
['\x00','\x07', '\x0e', '\x0f']
19123
]
20124

21125

@@ -101,4 +205,4 @@ def quaternary8(message: str, encoding: str = 'utf') -> str:
101205

102206

103207
def quaternary12(message: str, encoding: str = 'utf') -> str:
104-
return __quaternaryFill(message, encoding, 12)
208+
return __quaternaryFill(message, encoding, 12)

PyZeroWidth/encode.py

Lines changed: 109 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,119 @@
77

88
#Global Variables
99
ZWCharacterSelections = [
10-
['utf8','utf-8','u8','utf', 'cp65001'],
11-
['ascii','us-ascii','646'],
12-
['latin', 'latin1', 'latin_1', 'iso-8859-1', 'iso8859-1', '8859', 'cp819']
10+
[
11+
'utf_7', 'u7', 'unicode-1-1-utf-7'
12+
'utf8','utf-8','u8','utf', 'cp65001',
13+
'utf16', 'utf_16', 'u16'
14+
'utf_16_be', 'utf-16be',
15+
'utf_16_le', 'utf-16le',
16+
'utf32', 'utf_32', 'u32',
17+
'utf_32_be', 'utf-32be',
18+
'utf_32_le', 'utf-32le'
19+
],
20+
21+
[
22+
'ascii','us-ascii','646'
23+
],
24+
25+
[
26+
'latin', 'latin1', 'latin_1', 'iso-8859-1', 'iso8859-1', '8859', 'cp819',
27+
'latin2', 'iso8859_2', 'iso-8859-2', 'l2',
28+
'latin3', 'iso8859_3', 'iso-8859-3', 'l3',
29+
'latin4', 'iso8859_4', 'iso-8859-4', 'l4',
30+
'latin5', 'iso8859_9', 'iso8859-9', 'l5',
31+
'latin6', 'iso8859_10', 'iso8859-10', 'l6'
32+
'latin7', 'iso8859_13', 'iso8859-13', 'l7',
33+
'latin8', 'iso8859_14', 'iso8859-14', 'l8',
34+
'latin9', 'iso8859_15', 'iso8859-15', 'l9',
35+
'latin10', 'iso8859_16', 'iso8859-16', 'l10'
36+
'cyrillic', 'iso8859_5', 'iso8859-5',
37+
'arabic', 'iso8859_6', 'iso8859-6',
38+
'greek', 'greek8', 'iso8859_7', 'iso8859-7',
39+
'hebrew', 'iso8859_8', 'iso8859-8',
40+
'thai', 'iso8859_11', 'iso8859-11'
41+
],
42+
43+
[
44+
'big5', 'big5-tw', 'csbig5', 'big5hkscs', 'big5-hkscs', 'hkscs',
45+
'cp037', 'ibm037', 'ibm039',
46+
'cp273', '273', 'ibm273', 'csibm273',
47+
'cp424', 'ebcdic-cp-he', 'ibm424',
48+
'cp437', '437', 'ibm437',
49+
'cp500', 'ebcdic-cp-be', 'ebcdic-cp-ch', 'ibm500',
50+
'cp720',
51+
'cp737',
52+
'cp775', 'ibm775',
53+
'cp850', '850', 'ibm855',
54+
'cp852', '852', 'ibm852',
55+
'cp855', '855', 'ibm855',
56+
'cp856',
57+
'cp857', '857', 'ibm857',
58+
'cp858', '858', 'ibm858',
59+
'cp860', '860', 'ibm860',
60+
'cp861', '861', 'ibm861', 'cp-is',
61+
'cp862', '862', 'ibm862',
62+
'cp863', '863', 'ibm863',
63+
'cp864', 'ibm863',
64+
'cp865', '865', 'ibm865',
65+
'cp866', '866', 'ibm866',
66+
'cp869', '869', 'ibm869', 'cp-gr',
67+
'cp874',
68+
'cp875',
69+
'cp932', '932', 'ms932', 'mskanji', 'ms-kanji',
70+
'cp949', '949', 'ms949', 'uhc',
71+
'cp950', '950',
72+
'cp1006',
73+
'cp1026', 'ibm1026',
74+
'cp1125', '1125', 'ibm1125', 'cp866u', 'ruscii',
75+
'cp1140', 'ibm1140',
76+
'cp1250', 'windows-1250',
77+
'cp1251', 'windows-1251',
78+
'cp1252', 'windows-1252',
79+
'cp1253', 'windows-1253',
80+
'cp1254', 'windows-1254',
81+
'cp1255', 'windows-1255',
82+
'cp1256', 'windows-1256',
83+
'cp1257', 'windows-1257',
84+
'cp1258', 'windows-1258',
85+
'euc_jp', 'eucjp', 'ujis', 'u-jis',
86+
'euc_jis_2004', 'jsix0213', 'eucjis2004',
87+
'euc_jisx0213', 'eucjisx0213',
88+
'korean', 'euc_kr', 'euckr', 'ksc5601', 'ks_c-5601', 'ks_c-5601-1987', 'ksx1001', 'ksx1001', 'ks_x-1001',
89+
'chinese', 'gb2312', 'csiso58gb231280', 'euc-cn', 'euccn', 'eucgb2312-cn', 'gb2312-1980', 'gb2312-80', 'iso-ir-58',
90+
'cp936', '936', 'gbk', 'ms936',
91+
'gb18030', 'gb18030-2000',
92+
'hz', 'hzgb', 'hz-gb', 'hz-gb-2312',
93+
'iso2022_jp', 'csiso2022jp', 'iso2022jp', 'iso-2022-jp',
94+
'iso2022_jp_1', 'iso2022jp-1', 'iso-2022-jp-1',
95+
'iso2022_jp_2', 'iso2022jp-2', 'iso-2022-jp-2',
96+
'iso2022_jp_3', 'iso2022jp-3', 'iso-2022-jp-3',
97+
'iso2022_jp_2004', 'iso2022jp-2004', 'iso-2022-jp-2004',
98+
'iso2022_jp_ext', 'iso2022jp-etx', 'iso-2022-jp-ext',
99+
'iso2022_kr', 'csiso2022kr', 'so2022kr', 'iso-2022-kr',
100+
'johab', 'cp1361', 'ms1361',
101+
'koi8_r',
102+
'koi8_t',
103+
'koi8_u',
104+
'kz1048', 'kz_1048', 'strk1048_2002', 'rk1048',
105+
'mac_cyrillic', 'maccyrillic',
106+
'mac_greek', 'macgreek',
107+
'mac_iceland', 'maciceland',
108+
'mac_latin2', 'maclatin2', 'maccentraleurope', 'mac_centeuro',
109+
'mac_roman', 'macroman', 'macintosh',
110+
'mac_turkish', 'macturkish',
111+
'ptcp154', 'csptcp154', 'pt154', 'cp154', 'cyrillic-asian',
112+
'shift_jis', 'csshiftjis', 'shiftjis', 'sjis', 's_jis',
113+
'shift_jis_2004', 'shiftjis2004', 'sjis_2004', 'sjis2004',
114+
'shift_jisx0213', 'shiftjsix0213', 'sjisx0213', 's_jisx0213'
115+
]
13116
]
14117

15118
ZWCharacters = [
16119
['\u200c','\u200d','\u2060','\ufeff'],
17120
['\x00', '\x07', '\x08', '\x09'],
18-
['\x80', '\x81', '\x82', '\x83']
121+
['\x80', '\x81', '\x82', '\x83'],
122+
['\x00','\x07', '\x0e', '\x0f']
19123
]
20124

21125

@@ -45,6 +149,7 @@ def __tri(number: int) -> str:
45149

46150

47151
def __encodeBase(text: str, secret: str, base: str, encoding: str, fillAmount: int) -> str:
152+
global ZWCharacterSelections
48153
global ZWCharacters
49154

50155
if not any([encoding.lower() in alis for alis in ZWCharacterSelections]): return None

README.md

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -88,15 +88,3 @@ decode.quaternary12(message: str, encoding: str = 'utf') -> str
8888
# Quaternary8 will expect the message to be encoded using the quaternary8 encode function and as such characters being represented with 8 digits.
8989
# Quaternary12 will expect the message to be encoded using the quaternary12 encode function and as such characters being represented with 12 digits.
9090
```
91-
92-
<br />
93-
<br />
94-
<br />
95-
<br />
96-
# Additional Notes
97-
Only a few encoding formats are currently supported.
98-
> UTF-8 (utf, utf8, utf-8, u8, cp65001)
99-
100-
> ASCII (ascii, us-ascii, 646)
101-
102-
> LATIN (latin, latin1, latin-1, iso-8859-1, iso8859-1, 8859, cp819)

0 commit comments

Comments
 (0)