Ir para conteúdo
  • Cadastre-se

Serialize/Unserialize Strings to Number


Posts Recomendados

Pra quem quiser a versão como função:
 

Spoiler

local function reduceQnt(r, ...)
	for i = 1, arg.n do 
		arg[i] = arg[i] - r
	end
	arg.n = nil
	return arg
end

-- Serialize
local function serializeString(data)
	if type(data) ~= 'string' or #data == 0 then return false end
	local summ = table.concat(reduceQnt(21, data:byte(1, #data)))
	local serial = ""
	local maxValue = (2^31) -1 -- int32
	
	repeat
		local lines = 10
		local tmp = summ:sub(-lines)	  
		while (tonumber(tmp) > maxValue or tmp:sub(1, 1) == "0") do
			lines = lines - 1
			tmp = summ:sub(-lines)
		end	  
		serial = tmp..serial -- this is where you can change to intput in a storage.
		summ = summ:sub(1, -(lines+1))
	until summ == ""
	
	return serial
end

-- Unserialize
local function unserializeString(serial)
	local index = 1
	local data = ""
	
	while (index < serial:len()) do
		local char = serial:sub(index, index + 1)
		if tonumber(char) < 11 then
			char = serial:sub(index, index + 2)
			index = index + 1
		end
		index = index + 2
		data = data..string.char(char + 21)
	end
	
	return data
end

-- Como usar:
local entrada = "Night Wolf"
local sr = serializeString(entrada)
print(sr)
print(unserializeString(sr))

 


https://repl.it/repls/LongtermVioletTakin

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites
  • 1 year later...

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo