Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
Nodemcu Firmware
Commits
6f7542c1
Commit
6f7542c1
authored
Jun 24, 2015
by
Luna
Browse files
working lua impl. of base64
parent
5ca807d7
Changes
1
Hide whitespace changes
Inline
Side-by-side
lua_modules/base64/base64_v2.lua
0 → 100644
View file @
6f7542c1
--this version actually works
local
tab
=
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
base64
=
{
enc
=
function
(
data
)
local
l
,
out
=
0
,
''
local
d
=
data
..
string.rep
(
'
\0
'
,(
3
-
data
:
len
()
%
3
)
%
3
)
for
i
=
1
,
d
:
len
()
do
l
=
bit
.
lshift
(
l
,
8
)
l
=
l
+
d
:
byte
(
i
,
i
)
if
i
%
3
==
0
then
while
l
>
0
do
local
a
=
bit
.
rshift
(
l
,
18
)
+
1
out
=
out
..
tab
:
sub
(
a
,
a
)
l
=
bit
.
band
(
bit
.
lshift
(
l
,
6
),
0xFFFFFF
)
end
end
end
return
out
..
({
''
,
'=='
,
'='
})[
data
:
len
()
%
3
+
1
]
end
,
dec
=
function
(
data
)
local
a
,
b
=
data
:
gsub
(
'='
,
'A'
)
local
out
=
''
local
l
=
0
for
i
=
1
,
a
:
len
()
do
l
=
l
+
tab
:
find
(
a
:
sub
(
i
,
i
))
-
1
if
i
%
4
==
0
then
out
=
out
..
string.char
(
bit
.
rshift
(
l
,
16
),
bit
.
band
(
bit
.
rshift
(
l
,
8
),
255
),
bit
.
band
(
l
,
255
))
l
=
0
end
l
=
bit
.
lshift
(
l
,
6
)
end
return
out
:
sub
(
1
,
-
b
-
1
)
end
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment