столкнулся с проблемой при переписи функции с Lua на Python.
Цитата:
Сообщение от Спойлер
декодирует строку в изначальный вид (из string hider)
результат:
кодировка файла в данном случае Windows 1251
Lua:
Код:
function
_C
(
str
)
local
res
=
""
local
n
=
string
.
byte
(
string
.
sub
(
str
,
1
,
1
)
)
+
string
.
byte
(
string
.
sub
(
str
,
-
1
,
-
1
)
)
local
str
=
string
.
sub
(
str
,
2
,
#
str
-
1
)
for
i
=
1
,
#
str
do
res
=
res
..
string
.
char
(
str
:
byte
(
i
)
-
n
)
end
return
res
end
print
(
_C
(
"‹ђ‹…€‰"
)
)
Цитата:
Сообщение от Спойлер
результат:
Python:
Код:
def
_C
(
text
)
:
res
=
""
n
=
ord
(
text
[
0
]
)
+
ord
(
text
[
len
(
text
)
-
1
]
)
text
=
text
[
1
:
-
1
]
for
i
in
range
(
1
,
len
(
text
)
)
:
res
+=
chr
(
ord
(
text
[
i
]
)
-
n
)
print
(
res
)
_C
(
"‹ђ‹…€‰"
)
вроде нормально переписал, должно все быть нормально, но возникли проблемы - по моим соображениям из-за строки в utf-8.
пытался через методы из гугла делать строку в кодировке windows1251, но результат вроде не менялся.
сурс хайдера строк тож есть, он и делает эти строки.
Python:
[CODE]
import
re
,
os
,
random
os
.
system
(
'title string hider by babulya karelli'
)
decoder
=
'\nfunction _C(str)\n local res = ""\n local n = string.byte( string.sub(str, 1, 1) ) + string.byte( string.sub(str, -1, -1) )\n local str = string.sub(str, 2, #str - 1)\n for i = 1, #str do\n res = res .. string.char( str:byte(i) - n )\n end\n return res\nend\n'
def
main
(
)
:
text
=
input
(
u'\u041f\u0443\u0442\u044c \u043a Lua: '
)
STR_C
=
''
with
open
(
text
,
'r'
)
as
(
FILE
)
:
for
st
in
FILE
:
result
=
re
.
findall
(
'\\"(.*?)\\"'
,
st
)
for
retab
in
result
:
EncryptLine
=
''
number
=
random
.
randint
(
1
,
25
)
number_
=
random
.
randint
(
1
,
25
)
for
row
in
retab
.
encode
(
'cp1251'
)
:
if
row
+
50